對於不耐煩tabbarcontroller一個navigationcontroller:iPad應用程序的行爲:用更多的標籤
我想有一個navigationcontroller誰的根視圖控制器是一個tabbarcontroller,類似iPad的應用程序。我正在使用IOS 5和故事板。
對於傾斜的讀數:
以我的故事板我有在被在一個UINavigationController內嵌一個的UITabBarController 6個標籤,給它一個「更多」按鈕被示出3個標籤之後。
這樣做讓我兩個導航欄當按下更多:
於是我繼承TabBarController:
//@implentation MyTabController
- (void)viewDidLoad
{
self.moreNavigationController.wantsFullScreenLayout = NO;
self.delegate = self;
}
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
// hide nav bar if current controller is "More" controller
self.navigationController.navigationBarHidden =
viewController == self.moreNavigationController;
}
大,這給了我:
我的猜測是,我需要重新佈局,以佔據了狀態欄的意見,所以我儘量
[self.view setNeedsLayout:YES];
,但我得到一個錯誤說的UIView不包含選擇器,用於setNeedsLayout所以... 如何獲得moreNavigationController.navigationBar來說明狀態欄?
更新:
我有第二個相關的問題與此。當我點擊「編輯」按鈕編輯控制器模式顯示。其導航欄顯示下的受保控制器(動畫之後),並且未收到觸摸。
所以TabBarController被推入NavigatorController?如果是這種情況,那麼不建議,應該爲每個tabBar View控制器設置一個NavigatorController,並將TabBarController設置爲主窗口根視圖控制器。如果情況並非如此,我不知道發生了什麼事情:P。 – Raspu 2012-06-14 16:41:24
@Raspu這將解決我的大部分問題,但後退按鈕呢?因爲要這樣做,我會以模態方式呈現標籤欄,即使我向每個導航控制器添加了後退按鈕,也不會有<__ |形狀。 – 2012-06-14 17:57:32
所以你想在顯示tabbar之前能夠回到屏幕?一個解決方案是將所有的導航控制器都放入先前的視圖控制器,然後是你想要顯示的那個(這樣所有的導航欄都有後退按鈕)。另外,你可以設置hidesBottomBarWhenPushed = YES到第一個視圖控制器,這樣它就不會顯示tabBar。 – Raspu 2012-06-14 18:09:27