Ios 如何嵌套NavigationController->;Tabbar控制器->;{NavigationController,NavigationController}
(问题7) 我知道将TabBarController放在NavigationController中是不好的。但是,如果真的需要,有什么解决办法吗? stroyboard类似于“” 问题是:Ios 如何嵌套NavigationController->;Tabbar控制器->;{NavigationController,NavigationController},ios,objective-c,Ios,Objective C,(问题7) 我知道将TabBarController放在NavigationController中是不好的。但是,如果真的需要,有什么解决办法吗? stroyboard类似于“” 问题是: 在'ItemTVC'中,backBarItem将不会弹出到其父'SampleTVC',但会弹出到根'ProjTVC',为什么 在“SampleTVC”中,如果调用:[self.navigationController setNavigationBarHidden:NO]和[self.navigationCon
[self.navigationController setNavigationBarHidden:NO]
和
[self.navigationController.navigationController setNavigationBarHidden:YES]
隐藏根导航栏并显示最近的祖先导航栏,如何将最近祖先导航栏的LeftBarButtonim设置为根导航项的BackBarButtonim
uiBarButtonim*addButton=[[uiBarButtonim alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemAdd目标:自操作:@selector(insertNewObject:)]
和self.navigationItem setRightBarButtonItem:addButton
,但未显示任何按钮self.navigationItem
会变得一团糟
(我使用的一个丑陋的解决方案是:首先隐藏根导航栏,然后将UIBarButtonItem分配给最近祖先导航栏的leftBarButtonItem,然后调用
[self.navigationController.navigationController popViewControllerAnimated:YES]
,但此按钮的样式将与“BackBarButtonItem”的样式不同。如何在其他导航栏的项目中获取当前显示的BackBarButtonItem的副本?)无论从架构还是用户体验的角度来看,您都不应该这样做。但是……您不需要第二套导航控制器。它们应该使用根导航控制器的推送和弹出功能。导航控制器中的选项卡控制器不好。但na中选项卡控制器中的导航控制器不好v控制器更糟糕 编辑:
如果要修复导航项目,需要在选项卡控制器上设置它们。它是导航控制器上的“当前”视图控制器,因此其导航项目将显示在导航栏上。谢谢您的提示。我已删除导航控制器。现在它可以正确切换。(问题1已解决) 关于缺少RightBarButton,我实际上通过将
self.navigationItem.rightBarButtonItem=addButton;
添加到自定义tabBarController的viewDidLoad中来解决,然后在tabBarController的子控制器中添加
if (self.tabBarController) {
self.tabBarController.navigationItem.rightBarButtonItem = addButton;}
else{self.navigationItem.rightBarButtonItem = addButton;
}
发现
self.navigationItem
在选项卡控制器中时实际上是隐藏的,这真的很棘手。实际显示的导航栏实际上来自self.tabBarController.navigationItem
谢谢你的提示。我已经删除了tabBarController中的导航控制器。现在它可以正确地进行分段了。(问题1已解决)@wanyancan您需要在tab控制器上设置导航项。导航控制器从他们所持有的俯视图控制器中选择导航项。我想您的意思是使用self.tabBarController.navigationItem
,对吗?我知道了。我觉得这似乎违反直觉。不应该self.navigationItem
无论屏幕导航栏上显示的是什么项目,无论self
包含在什么内容中?@wanyancan当您没有如此糟糕的体系结构时,就是这样。请接受答案?您的答案被接受。但是,我确实认为在这种特殊情况下,导航项目访问不应该与“norm”有任何不同阿尔的等级制度。