我想在项目中同时集成导航控制器和标签栏控制器。但是我无法在导航控制器中添加右键按钮。
我所做的是,我已将导航控制器添加到登录屏幕,这次我可以通过添加代码以及将barbuttonitem拖动到导航控制器来添加barbuttonitem。
let addBtn = UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(addTapped))
self.navigationItem.rightBarButtonItem = addBtn
添加标签栏控制器后,我面临的问题是我无法通过代码以及通过拖动到导航控制器来添加rightbarbutton。请帮助我。
答案 0 :(得分:1)
将ViewController嵌入到NavigationController中时,您将使用
self.navigationItem.rightBarButtonItem = addBtn
在您的项目中,详细信息屏幕未直接嵌入NavigationController中。详细信息屏幕嵌入在TabBarController中,TabBarController嵌入在NavigationController中。所以你应该使用
self.tabBarController?.navigationItem.rightBarButtonItem = addBtn
但是这个addBtn在所有嵌入在TabBarController中的视图控制器中都是可见的。
如果只想为一个viewcontroller添加rightBarButton,则将详细信息屏幕嵌入到新的NavigationController中。然后,您可以使用
添加rightBarButtonself.navigationItem.rightBarButtonItem = addBtn