【问题标题】:How to present view controller modally while keeping navigation bar present. (For a settings view controller)如何在保持导航栏存在的同时以模态方式呈现视图控制器。 (对于设置视图控制器)
【发布时间】:2017-11-03 16:41:26
【问题描述】:

这是我所说的一个例子:https://media.giphy.com/media/3o6nUPLqKrMN64tdNm/giphy.gif 许多应用程序都这样做。添加新联系人时的联系人应用程序等。但是,当我尝试以模态方式显示我的设置页面时,导航栏消失了。知道如何解决这个问题吗?提前致谢!

【问题讨论】:

  • 创建一个以根视图控制器为视图控制器的导航控制器,然后呈现导航控制器。
  • 现在使用导航控制器。它只是工作
  • 非常简单。这是一个独立的导航控制器,只是为了给完成按钮留一个位置。它有自己的导航栏——与你现有的导航控制器和导航栏无关。

标签: swift xcode uinavigationbar segue uistoryboardsegue


【解决方案1】:

创建一个以根视图控制器为视图控制器的导航控制器,然后呈现导航控制器。像这样。

let vc =  // your view controller 
let nav = UINavigationController(rootViewController: vc)
self.present(nav, animated: true, completion: nil)

【讨论】:

  • 谢谢!如何从第一个视图控制器访问第二个视图控制器中的变量?
  • @JackGruber 使用转场。将您的导航控制器作为目标控制器。并将您的嵌入式 vc 设置为 topViewControllerUINavigationController
  • 谢谢!还有一个问题,我如何从 rootview 控制器访问第二个导航控制器。如果我要执行 self.navigationController!.viewControllers[0],它只会使用我原来的导航控制器。
  • 没关系在子 ViewControllers 数组中找到它。谢谢!
  • 调用self.dismiss(animated: true, completion: nil) 是不是以编程方式关闭 vc 的正确方法?
猜你喜欢
  • 2017-06-16
  • 2012-12-03
  • 2014-08-05
  • 1970-01-01
  • 2021-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多