Mac App 使用多個 Storyboard 設計畫面

Mac App 在使用 Storyboard 設計畫面時,預設是有一個主要的 Storyboard,裡面可以放置很多個 View,然而畫面一多,處理起來也是麻煩,本文是介紹如何使用多個 Storyboard,以及如何將原有的 Storyboard 分割。

 

測試程式

 

底下是示範操作。

 

首先,先做出第一個視窗。

 

image

 

接著,依傳統的方式,加入 View Controller 當做第二個視窗。

 

image

 

加入後,並在第一視窗的按鈕連上第二視窗,用來開啟第二視窗。

 

image

 

測試執行,果然可以順利開啟第二視窗。


 

image

 

建立新的 Storyboard

 

接著要做第三個視窗,這次選擇用新的 Storyboard 來設計。

 

在主功能表選 File -> New -> File...

 

image

 

選 Storyboard

 

image

 

命名為 View3.storyboard

 

image

 

在新的 Storyboard 加上新的 View Controller,這就是第三個視窗。

 

image

 

設定它的 Storyboard ID 為 View3_id。

 

image

 

回到 Main Storyboard,新增一個 Storyboard Reference。

 

image

 

將第二視窗的按鈕連到這個 Reference。

 

image

 

將這個 Reference 的 Storyboard 選擇 View3

 

Referenced ID 則填入 View3_id

 

表示它是連到 View3 這個 Storyboard 的 View_id 視窗。

 

若不想設定 ID,請看最後一節。

 

image

 

順利執行的畫面。

 

image

 

將原有的視窗搬到新的 Storyboard

 

現在要測試把原本的第二視窗也搬到新的 Storyboard。

 

先選擇要搬的範圍。

 

image

 

在主選單選 Editor -> Refactor to Storyboard...

 

image

 

取名為 View2.storyboard

 

image

 

這個 View2 Storyboard 和之前自建的 View3 不太相同,它有一個 Storyboard Entry Point 的箭頭,應該是此 Storyboard 的進入點。

 

image

 

這個第二個視窗也沒有設定 Storyboard ID

 

image

 

而連結它的 Reference 也同樣沒有設定 Referenced ID。

 

所以可以猜測,應該是 View2 這個 Storyboard 有預設的進入點,所以第一視窗連結時,不用指定 ID 也可以連結。

 

image

 

執行也是很順利,沒有問題。

 

image

 

根據以上推測,第三個視窗在 Is Initial Controller 打勾,則此視窗就是 View3 Storyboard 的預設進入點。

 

image

 

如此一來,它不用設定 Storyboard ID,而 View2 連結的 Reference 也同樣可以不指定 Referenced ID,依然可以順利執行了。

 
重要度:
文章分類:
電腦標籤:

發表新回應