重构为包括 TabBarController 在内的新 Storyboard 后导航项未显示
Navigation Items not showing after refactor to new Storyboard including TabBarController
为了更好地理解,我创建了一个新项目并分解了我的问题。
之前,我有一个带有主菜单的故事板,从那里可以跳转到不同的视图控制器。如图所示,其中之一嵌入在 TabBarController 中。
为了改进结构,我将 TabBarController 重构为第二个故事板,如图 2 所示。但现在我想添加一些 NavigationBar 项目(按钮)。对于每个选项卡,我想为某些操作设置一个按钮。 NavigationBar 现在不知何故在新的 Storyboard 中消失了。
我已经在不同的主题中找到了一些建议,比如
从那里我尝试了代码
let navigationBar = navigationController!.navigationBar
navigationBar.tintColor = UIColor.green
let rightButton = UIBarButtonItem(title: "Right Button", style: UIBarButtonItem.Style.plain, target: self, action: nil)
navigationItem.rightBarButtonItem = rightButton
这给了我一个绿色的后退按钮,但是 rightButton
没有显示。
我还尝试嵌入一个新的 NavigationController
,这只会导致双重导航...
我还尝试手动添加一个 NavigationBar
,这也会导致如下图所示的双重导航。
有什么办法可以解决这个问题吗?
我不知道这是否是一个好的解决方案,但它对我有用。
基本上代码是正确的
let navigationBar = navigationController!.navigationBar
navigationBar.tintColor = UIColor.green
let rightButton = UIBarButtonItem(title: "Right Button", style: UIBarButtonItem.Style.plain, target: self, action: nil)
self.navigationItem.rightBarButtonItem = rightButton
但是有必要在代码中添加一件事,添加parent
解决了我的问题
self.parent!.navigationItem.rightBarButtonItem = rightButton
为了更好地理解,我创建了一个新项目并分解了我的问题。
之前,我有一个带有主菜单的故事板,从那里可以跳转到不同的视图控制器。如图所示,其中之一嵌入在 TabBarController 中。
为了改进结构,我将 TabBarController 重构为第二个故事板,如图 2 所示。但现在我想添加一些 NavigationBar 项目(按钮)。对于每个选项卡,我想为某些操作设置一个按钮。 NavigationBar 现在不知何故在新的 Storyboard 中消失了。
我已经在不同的主题中找到了一些建议,比如
从那里我尝试了代码
let navigationBar = navigationController!.navigationBar
navigationBar.tintColor = UIColor.green
let rightButton = UIBarButtonItem(title: "Right Button", style: UIBarButtonItem.Style.plain, target: self, action: nil)
navigationItem.rightBarButtonItem = rightButton
这给了我一个绿色的后退按钮,但是 rightButton
没有显示。
我还尝试嵌入一个新的 NavigationController
,这只会导致双重导航...
我还尝试手动添加一个 NavigationBar
,这也会导致如下图所示的双重导航。
有什么办法可以解决这个问题吗?
我不知道这是否是一个好的解决方案,但它对我有用。
基本上代码是正确的
let navigationBar = navigationController!.navigationBar
navigationBar.tintColor = UIColor.green
let rightButton = UIBarButtonItem(title: "Right Button", style: UIBarButtonItem.Style.plain, target: self, action: nil)
self.navigationItem.rightBarButtonItem = rightButton
但是有必要在代码中添加一件事,添加parent
解决了我的问题
self.parent!.navigationItem.rightBarButtonItem = rightButton