在ios 6.0上,纵向模式下uisplitiview主视图中的工具栏隐藏/取消隐藏问题
只有在iOS 6.0上才会出现奇怪的问题。 在基于UISplitViewController的应用程序的iPad纵向模式中,主视图基于导航控制器。主视图的第一个视图控制器显示了工具栏按钮,如果我按下第二个视图控制器并隐藏工具栏,则在弹出第二个视图控制器后,第一个视图控制器工具栏上的按钮将永远丢失(即显示空白工具栏)。 工具栏按钮在第一个视图控制器的viewDidLoad中初始化。通过在第二个视图控制器的viewDidLoad中调用[self.navigationController setToolbarHidden:YES]隐藏工具栏,并通过在第一个viewcontroller的ViewWillDisplay中调用[self.navigationController setToolbarHidden:NO]再次显示工具栏 有什么建议吗?在导航控制器中隐藏/取消隐藏工具栏的正确方法是什么 顺便说一句,它在iOS 4.3、5.1.1和iPad上的iOS 6.0横向模式上都很好。此问题仅在iPad的iOS 6.0纵向模式下出现在ios 6.0上,纵向模式下uisplitiview主视图中的工具栏隐藏/取消隐藏问题,ios,uinavigationcontroller,uisplitviewcontroller,uitoolbar,ios6,Ios,Uinavigationcontroller,Uisplitviewcontroller,Uitoolbar,Ios6,只有在iOS 6.0上才会出现奇怪的问题。 在基于UISplitViewController的应用程序的iPad纵向模式中,主视图基于导航控制器。主视图的第一个视图控制器显示了工具栏按钮,如果我按下第二个视图控制器并隐藏工具栏,则在弹出第二个视图控制器后,第一个视图控制器工具栏上的按钮将永远丢失(即显示空白工具栏)。 工具栏按钮在第一个视图控制器的viewDidLoad中初始化。通过在第二个视图控制器的viewDidLoad中调用[self.navigationController setToo
编辑:在iPhone、ios 6.0上,同样的问题。但是,在iOS 6.0的iPad的横向模式下,这个问题很好。因为这个问题在iOS 6.0的iPhone上也会出现,所以它可能与UISplitView纵向模式无关。(尽管UISplitView横向模式很好) 因此,我专注于UINavigationController的工具栏显示/隐藏,这个线程()解决了我的问题 我删除了viewDiDLoad和ViewWillDisplay中的SetToolbar隐藏代码,并实现了UINavigationController委托协议:
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated
{
BOOL shouldHide = [viewController.toolbarItems count] == 0;
[navigationController setToolbarHidden:shouldHide animated:animated];
}
现在它起作用了。然而,我仍然不知道为什么最初的代码不能在iPhone和iPad的iOS 6.0人像模式下运行