Ios Swift如何在按下后保留导航栏按钮项目
在我的根视图控制器中,我设置了一个带有图像的条形按钮项目数组,并将它们分配给右侧的条形按钮 当我按下下一个视图控制器时,我的导航栏将重置,并且只显示一个后退按钮Ios Swift如何在按下后保留导航栏按钮项目,ios,swift,view,controller,push,Ios,Swift,View,Controller,Push,在我的根视图控制器中,我设置了一个带有图像的条形按钮项目数组,并将它们分配给右侧的条形按钮 当我按下下一个视图控制器时,我的导航栏将重置,并且只显示一个后退按钮 有没有办法将导航栏保留为在根视图控制器上设置的导航栏,以便在所有页面上显示?当您使用“推”在视图控制器之间切换时,您将获得默认的“水平幻灯片”导航动画,该动画将显示。请尝试“以模式显示”或“以popover显示”。正如用户1046037所说,您可以在准备序列时设置项目按钮 例如: let helpViewController = Hel
有没有办法将导航栏保留为在根视图控制器上设置的导航栏,以便在所有页面上显示?当您使用“推”在视图控制器之间切换时,您将获得默认的“水平幻灯片”导航动画,该动画将显示。请尝试“以模式显示”或“以popover显示”。正如用户1046037所说,您可以在准备序列时设置项目按钮 例如:
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
如果要在多个ViewController中使用同一按钮,可以创建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
}
}
然后在要显示按钮的ViewController中继承它
在
prepareForSegue
中设置目标视图控制器的右侧导航项。
class HelpViewController: AHBaseViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
}