0
我想在我的應用程序添加一些導航控制器,它是某事喜歡:UINavigationController的導航欄的可視性設置爲不工作
在我的索引頁視圖控制器,我嘗試初始化導航控制器是這樣的:
-(void)viewDidLoad{
...
//allocate a navigation controller.
myNavigationController = [[UINavigationController alloc]init];
myNavigationController.delegate = self;
myNavigationController.navigationBar.hidden = YES;
[self.view addSubview:myNavigationController.view];
[myNavigationController pushViewController:tabViewController animated:YES];
[self presentModalViewController:myNavigationController animated:YES];
}
這裏,索引頁面視圖控制器是我的應用程序的根視圖控制器,它只是一個普通的UIViewController。
[myNavigationController pushViewController:tabViewController animated:YES];
這裏的tabViewController我已經被推入導航控制器是一個自定義TabView的控制器,其利用一個容器視圖的保持標籤按鈕,並且還適用於標籤切換的導航控制器。
這裏的問題是:
myNavigationController.navigationBar.hidden = YES;
,因爲我已經做導航條無形的,它並沒有顯示時,我的自定義視圖控制器顯示,但是當我想切換到其他視圖控制器與導航控制器,我也希望導航欄可見:
myNavigationController.navigationBar.hidden = NO;
MyViewController *toSwitchNC = [[MyViewController alloc]init];
[myNavigationController pushViewController:toSwitchNC animated:YES];
導航欄不會再顯示。我也試圖把:
self.navigationController.navigationBar.hidden = NO
在MyViewController的viewDidLoad,ViewDidAppear甚至在導航控制器的委託方法
,也沒有顯示導航欄也沒有。
那麼它有什麼問題?爲什麼我初始化導航欄首先是隱形的,即使我將隱藏標誌設置爲假,它也不會再顯示。
嗨,我試圖擺脫我的自定義選項卡視圖中的導航控制器,似乎導航可見性集現在起作用。但是真正發生了什麼?我的索引視圖控制器的導航控制器推動我的自定義選項卡視圖,其中也包含一些導航控制器,這是需要避免的錯誤方式或任何建議? – David