我已将我的视图分为多个情节提要,以使团队管理项目变得更加容易。唯一的问题是,我希望所有不同的视图控制器都具有导航栏。我将第一个视图控制器嵌入到添加了导航栏的导航控制器中。在第二个情节提要中,我想将视图限制在导航栏上,但是,由于此视图控制器未嵌入在导航控制器中,因此没有任何内容可以将视图限制在其中。我放置了一个没有导航控制器的导航栏来进行约束,但是,当我从第一个情节提要板执行segue时,这将导致两个导航栏。我该如何做,以便可以将视图约束到导航栏而无需两个视图?预先感谢!
答案 0 :(得分:0)
我不确定您的问题。我猜想您想使用一个导航栏来限制不同故事板中的许多UIViewController。这是我的答案。
第1步:在每个UIViewController中设置情节提要ID
第2步:推送新的UIViewController
func switchNextView() {
let storyboardName:String = "xxxxxx"
let storyboardId:String = "xxxxx"
let storyboard = UIStoryboard(name: storyboardName, bundle: nil)
let vc: UIViewController =
storyboard.instantiateViewController(withIdentifier: storyboardId) as!
UIViewController
self.navigationController?.pushViewController(vc, animated: true)
}
答案 1 :(得分:0)
您可以通过三种方式从视图控制器上切换到另一种:-
首先像现在一样使用segue
second您可以通过
展示您的视图控制器let storyboard = UIStoryboard(name: "MyStoryboardName", bundle: nil)
let controller = storyboard.instantiateViewController(withIdentifier: "someViewController")
self.present(controller, animated: true, completion: nil)
第三,您可以通过
导航视图控制器let storyboard = UIStoryboard(name: "MyStoryboardName", bundle: nil)
let controller = storyboard.instantiateViewController(withIdentifier: "someViewController")
self.navigationController?.pushViewController(controller, animated: true)
答案 2 :(得分:0)
感谢您的帮助。如@ Paulw11的评论中所述,以下方法有效
“仅限于顶部布局指南。这将在运行时尊重导航栏。”
再次感谢您的帮助!干杯。