Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/102.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Swift如何在按下后保留导航栏按钮项目_Ios_Swift_View_Controller_Push - Fatal编程技术网

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()
    }
}