2017-02-14 56 views

回答

0

在Swift中,試試這個:在您的應用程序中,通過調用'window.mergeAllWindows'實現applicationDidFinishLaunching,其中'window'是第一個文檔的第一個窗口控制器的窗口。請注意,mergeAllWindows在Mac OS 10.12中可用。

'DispatchQueue.main.asyncAfter'用於確保在調用mergeAllWindows時窗口已經恢復,您可能更喜歡更好的方式來確保所有窗口都已恢復。

func applicationDidFinishLaunching(_ aNotification: Notification) { 

    let dc = NSDocumentController.shared() 

    // … 

    DispatchQueue.main.asyncAfter(deadline: DispatchTime.now()) {() -> Void in 

     if dc.documents.count > 0 { 
      let doc = dc.documents[0] 

      let wcs = doc.windowControllers 

      guard let window = wcs[0].window else { return } 

      if #available(OSX 10.12, *) { 
       window.mergeAllWindows(self) 
      } else { 
       // Fallback on earlier versions 
      } 
     } 
    }   
} 
相關問題