首页 文章

跨多个故事板的导航栏

提问于
浏览
0

我已将我的观点分成多个故事板,以便更轻松地管理项目 . 唯一的问题是我希望在所有不同的视图控制器上都有导航栏 . 我在导航控制器中嵌入了第一个视图控制器,它添加了导航栏 . 在我的第二个故事板中,我想将视图约束到导航栏,但是,由于此视图控制器未嵌入导航控制器,因此没有任何约束视图的内容 . 我放置了一个没有导航控制器的导航栏来限制,但是,当我从第一个故事板执行segue时,这会产生两个导航栏 . 如何制作这个以便我可以将视图约束到导航栏而不需要其中两个?提前致谢!

3 回答

  • 0

    我不确定你的问题 . 我想你想使用一个导航栏来约束不同Storyboard中的许多UIViewController . 这是我的答案 .

    第1步:在每个UIViewController中设置storyboard Id

    enter image description here

    第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)
      }
    
  • 0

    您可以通过三种方式从视图控制器转到另一个控制器: -

    首先使用你已经在做的segue

    秒您可以通过显示视图控制器

    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)
    
  • 0

    谢谢你的协助 . 如@Paulw11的评论所述,以下工作正常

    “只需限制顶部布局指南 . 如果它存在,这将在运行时尊重导航栏 . ”

    再次感谢您的帮助!干杯 .

相关问题