2012-09-18 193 views
0

我需要在導航控制器中的分支末尾有一個標籤欄導航,如下面所示。 (我正在使用故事板結構,並以編程方式執行其他所有操作。)導航欄控制器裏面的導航控制器,可以嗎?

  1. 這是可以接受和穩定的嗎? (Xcode中似乎也沒有異議。)
  2. 我可以把另一標籤欄導航,最初的標籤欄導航裏面,所以會有3層:
    導航控制器>標籤欄>標籤欄

感謝您的任何建議和意見。

enter image description here

回答

2

可以做到這一切。 Xcode不會反對。各種視圖控制器都可以包含對方,並且會按照您的預期行爲(大部分)。

您可能想考慮一下是否應該做到了這一切。 View Controller Catalog提到了這樣一個事實,即選項卡欄總是包裝導航控制器,而不是相反,並且在View Controller編程指南中出現了類似的聲明。更重要的是,蘋果公司提供的特定視圖控制器通常具有預期的用戶界面,用戶已經習慣於在其他應用程序中看到其用戶界面。組合多個標籤欄控制器可能會打破這些期望 - 像這樣的分層內容通常包含在導航控制器中。在繼續這個結構之前,考慮通過Human Interface Guidelines的閱讀。

+0

感謝您的簡要信息。 (標籤欄nav中的Tab Bar nav將用於子目錄,例如在網站中經常出現的東西,並且將不使用默認按鈕進行樣式設置)。但是我想我必須給它更多的考慮。謝謝。 –

+0

如果您想採用這個想法,但不想使用內置系統控件,請查看新的iOS-5視圖控制器限制API。關於UIViewController的子類有一個很好的地方可以在[docs]中創建一個自定義的容器視圖控制器(http://developer.apple.com/library/ios/documentation/uikit/reference/UIViewController_Class/Reference/Reference.html#// apple_ref/doc/uid/TP40006926-CH3-SW81) - 您可能會發現,針對您的目錄結構比劫持標籤欄控制器更好。 – Tim

+0

聽起來不錯,我來看看。謝謝蒂姆。 –

2

我相信你可以。標籤欄和導航控制器都是容器控制器,它們可以用來包含任何類型的控制器:容器控制器或內容控制器。查看ref文檔瞭解更多信息。

+0

這裏有一些稍微有點矛盾的意見!但謝謝你的建議。 –