2016-05-11 81 views

回答

3

這是如何做到這一點:

  1. 創建Storyboard的新項目。我們只是用它來複制一個在對象庫中找不到的小東西。

  2. 回到現有項目中,在現有項目中添加一個新的故事板UI文件(例如Main.storyboard)。與開始新項目不同,故事板文件將完全空白。

  3. 從新項目的故事板中複製「應用程序場景」並將其粘貼到現有項目的故事板中。這是一個解決方法,因爲無法從對象庫中獲取應用程序場景。完成此操作後,通過查看Connections檢查器(右側面板),檢查App Delegate對象的「委託」屬性是否具有「應用程序」的引用出口。如果不是,將它們連接在一起。

  4. 在對象庫(右側面板>下面的對象庫)中,添加窗口控制器。這將添加窗口控制器場景和視圖控制器場景。

  5. 如果您使用自定義類,請參考窗口控制器/窗口/視圖控制器/視圖的適當類。

  6. 打開先前的xib文件並複製之前使用的任何視圖。

  7. 在您現有的項目的xcproj文件中,轉到構建目標的info部分,並用「NSMainStoryboardFile」替換鍵和「Main」(或任何您的故事板文件稱爲sans fileextension )的價值。

附加說明:

  • 如果使用自定義viewcontrollers,正將其遷移到故事板,確保它們允許通過的initWithCoder被init'ed。

  • 如果您需要從appdelegate獲取視圖控制器,您可以不通過NSStoryboard的instantiateWithName方法來創建新的實例。請執行以下操作:

    NSApplication *application = [NSApplication sharedApplication]; 
    
    NSWindow *window = application.windows[0]; 
    
    self.myCustomViewController = (MyCustomViewController *)window.contentViewController;