2012-03-09 139 views
3

有沒有辦法讓故事板上的自定義容器視圖控制器的行爲與UITabBarController非常類似?如何故事板切換容器視圖控制器?

我的容器視圖控制器是類似之處在於一個UITabBarController

  • 它切換屏幕
  • 的內容響應於用戶actioning一些插件

但它不同於UITabBarController其中:

  • 它只切換pa屏幕rt(通過屏幕上的矩形框實現)
  • 用戶啓動切換的操作涉及特定的UIControl s,而不是屏幕底部的選項卡欄。

在那旁邊,我就非常喜歡故事板我的方式非常相似的UITabBarController應用的故事板製作:

  • 一個現場代表容器視圖,所有未轉換的內容
  • 儘可能多的兒童場景,因爲我有可能爲框架切換內容。
  • 從每個切換控件到其相應的子場景一個segue。

但是,我一直無法做到這一點。有沒有辦法(比人工製作我的交換容器視圖控制器的子類爲UITabBarController更好?

回答

1

據我所知,這是故事板功能比應該少得多的區域之一。

從我所看到的,您可以手動放入所有您的開關誘導窗口小部件,將它們連接到它們各自的目標視圖控制器,並將結果配置爲您自定義的子類的實例(s) )perform和可選地在您的容器視圖控制器中實現prepareForSegue:sender: ......但(a)您可能已經認識到這一點,並且(b)對我來說,這聽起來不像您首先要做的。

對於這樣那樣的原因,我會(和已經這樣做了......)避免在這種情況下故事板乾脆 - 相反 - 結合使用筆尖與IBOutletCollection(不支持在故事板 - 你能不能有任何連接他們!)的視圖控制器。

在我的情況下,我可以使用連接的視圖控制器的tabBarItem的標題/圖像屬性動態地填充UISegmentedControlUITableView行的片段。

這一點,然而,權衡,因爲你失去配置IB視圖控制器之間的轉換能力。此外,它依賴於隱含的合同,即視圖控制器具有正確配置的tabBarItem,其不能在IB中表示爲

在我的情況下,這並不重要,但你的里程可能會變化很大!

將容器的佈局和使用分割成單獨的NIB有助於保持簡單。

相關問題