无法在导航栏上添加导航项
Posted
技术标签:
【中文标题】无法在导航栏上添加导航项【英文标题】:Unable to add Navigation Items on Navigation bar 【发布时间】:2014-12-25 11:05:38 【问题描述】:我使用了导航控制器,在我的应用程序中的 TAbbar 控制器中,我面临的问题是我无法将导航栏项添加到特定控制器的导航栏中
当我这样做时
self.navigationCOntroller.navigationItem.rightBarButtonItem=aBArButtonItem;
什么都不显示
当我这样做时
self.tabController.navigationController.navigationItem.rightBArButtonItem=aBArButtonItem
然后将相同的项目添加到 Tabbarcontroller 中的所有 viewCONtrollers 中,我想在不同的控制器上显示不同的栏按钮项目,有什么想法可以实现吗??
【问题讨论】:
是self.navigationController != nil
吗?
不,它不是零,导航控制器存在且可见
【参考方案1】:
我终于弄明白了,我无法添加任何导航项,因为 TabbarCONtroller 是容器视图,下面的代码帮助了我
self.tabBarController.navigationItem.rightBarButtonItem=right;
我还必须在第二个 ViewCONtroller 中重写此代码
self.tabBarController.navigationItem.rightBarButtonItem=nil;
只有这样我才能在导航栏中添加和响应 NavigationItems
【讨论】:
【参考方案2】:试试self.navigationItem.rightBarButtonItem=aBArButtonItem;
,而不是self.navigationController.navigationItem.rightBarButtonItem=aBArButtonItem;
。这样您就可以从视图控制器访问navigationItem
,而不是从整个导航控制器
【讨论】:
【参考方案3】:您感兴趣的navigationItem
是您的viewController
的属性,而不是navigationController
或tabBarController
。
所以如果你尝试:
self.navigationItem.rightBarButtonItem = aBArButtonItem;
你会取得更大的成功!
【讨论】:
【参考方案4】:试试下面的code
UINavigationController * navController = [[self.tabBarController viewControllers]objectAtIndex:[self.tabBarController selectedIndex]];
navController.navigationItem.rightBarButtonItem = aBarButtonItem
【讨论】:
以上是关于无法在导航栏上添加导航项的主要内容,如果未能解决你的问题,请参考以下文章