在我的根视图控制器中,我设置了一个包含图像的条形按钮项目数组,并将它们分配给右边的条形按钮。
当我按下一个视图控制器时,我的导航栏会重置并只显示一个后退按钮。
保留导航栏的方法,因为它在根视图控制器上设置,以便显示在所有页面上?
答案 0 :(得分:0)
正如user1046037所说,您可以在准备segue时设置项目按钮。
示例:
let helpViewController = HelpViewController(nibName: "HelpViewController", bundle: nil)
let someLeftButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.refresh, target: self, action: "someAction")
helpViewController.navigationItem.leftBarButtonItem = someLeftButton
helpViewController.navigationItem.leftItemsSupplementBackButton = true
navigationController?.pushViewController(helpViewController, animated: true)
这是保留左按钮项目和后一项目。
helpViewController.navigationItem.leftItemsSupplementBackButton = true
如果要在多个Viewcontrollers中使用相同的按钮,可以创建一个BaseViewController来设置按钮及其行为。
class AHBaseViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
configureNavigationBar()
// Configure Common status bar if you want too.
}
func configureNavigationBar() {
let someLeftButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.refresh, target: self, action: "someAction")
navigationItem.leftBarButtonItem = someLeftButton
navigationItem.leftItemsSupplementBackButton = true
}
}
然后在viewControllers中继承它,你想要显示按钮。
class HelpViewController: AHBaseViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
}
答案 1 :(得分:-1)
当您使用Push在视图控制器之间进行切换时,您将获得默认的“水平幻灯片”导航动画。尝试“现在模态”或“作为弹出”。