繁体   English   中英

如何设置导航栏的后项

[英]How to set navigation bar's back item

我有一个导航栏,该导航栏是从另一个视图控制器以模态显示的,因此不会显示后面的项目,

我需要交叉溶解到第二个视图控制器,并在其上放置一个导航栏,而不要在第一个视图控制器上放置导航栏,在第二个视图控制器的导航栏上,后退按钮应该看起来与系统后退按钮完全一样。

当您按下ViewController时,后一项将自动出现。 模态显示时,您可以在初始导航控制器之外进行操作,因此新的导航器将隐藏它的导航。

带有建议解决方案的版本:将第一个UIViewController嵌入UINavigationViewController中,然后推送第二个UIView而不是模态呈现。

如果您有导航栏,并且需要自定义后退按钮,则可以这样添加它:

let button = UIBarButtonItem(title: "Back Title", style: UIBarButtonItemStyle.Plain, target: self, action: #selector(someMethod))
self.navigationItem.leftBarButtonItem = button

在选择器中,您可以关闭当前的viewController或调用其他back方法

编辑

如果您需要一些具有标准推送过渡样式的自定义动画,则可以执行以下操作:

例如在带有SecondViewController id的情节提要中创建viewController

在您的过渡动作方法中进行如下操作:

func showSecondViewController() {
    guard navigationController != nil else {
        return
    }
    guard let secondViewController = storyboard?.instantiateViewControllerWithIdentifier("SecondViewController") else {
        return
    }
    navigationController!.pushViewController(secondViewController, animated: false)
    UIView.transitionWithView(navigationController!.view, duration: 1, options: .TransitionCrossDissolve, animations: nil, completion: nil)
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM