我有一个导航栏,从另一个视图控制器以模态方式显示,因此后面的项目没有显示,
我需要交叉溶解到第二个视图控制器,并在其上放置导航栏而不在第一个视图控制器上放置一个导航栏,在第二个视图控制器的导航栏上,后退按钮看起来应该与系统后退按钮完全相同。
答案 0 :(得分:0)
当您按下ViewController时,后退项会自动出现。当你以模态方式呈现它时,你会在初始导航控制器之外进行它,因此它的导航会被新的导航控制器隐藏。
带有建议解决方案的版本:在UINavigationViewController中嵌入第一个UIViewController并推送第二个而不是以模态方式呈现它。
答案 1 :(得分:0)
如果您有导航栏并且需要自定义后退按钮,则可以像这样添加:
let button = UIBarButtonItem(title: "Back Title", style: UIBarButtonItemStyle.Plain, target: self, action: #selector(someMethod))
self.navigationItem.leftBarButtonItem = button
在您的选择器中,您可以关闭当前的viewController或调用其他一些返回方法
修改强>
如果你需要一些带有标准推送过渡风格的自定义动画,你可以做下一步:
例如,在故事板中使用SecondViewController
id
在您的转换操作方法中,请执行以下操作:
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)
}