ios - Swift 以编程方式导航到另一个 View Controller /场景

标签 ios swift uinavigationbar viewcontroller

我正在使用以下代码以编程方式导航到另一个 ViewController。它工作正常,但它以某种方式隐藏了导航栏我该如何解决这个问题?(如果有问题,导航栏是通过将 ViewController 嵌入到 navigation controller 中创建的。)

let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil)

let nextViewController = storyBoard.instantiateViewControllerWithIdentifier("nextView") as NextViewController
self.presentViewController(nextViewController, animated:true, completion:nil)

最佳答案

swift 5

默认的模式呈现样式是卡片。这在顶部显示了先前的 View Controller ,并允许用户滑动显示的 View Controller 。

要保留旧样式,您需要像这样修改要呈现的 View Controller :

newViewController.modalPresentationStyle = .fullScreen

这对于以编程方式创建的 Controller 和 Storyboard创建的 Controller 都是相同的。

swift 3

使用以编程方式创建的 Controller

如果您想导航到以编程方式创建的 Controller ,请执行以下操作:

let newViewController = NewViewController()
self.navigationController?.pushViewController(newViewController, animated: true)

使用 StoryBoard 创建的 Controller

如果您想使用标识符“newViewController”导航到 StoryBoard 上的 Controller ,请执行以下操作:

let storyBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let newViewController = storyBoard.instantiateViewController(withIdentifier: "newViewController") as! NewViewController
        self.present(newViewController, animated: true, completion: nil)

关于ios - Swift 以编程方式导航到另一个 View Controller /场景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39450124/

相关文章:

javascript - 如何垂直居中导航栏元素并删除右侧导航栏按钮?

iphone - 找不到适用于 iOS 的 NSButton

ios - Realm 迁移失败,错误为 : Migration Required, 或对象已使用不同的架构版本打开

iOS In App Purchase in Action Extension 应用程序

iOS 10 自定义导航栏高度

iOS:后退按钮标签被自定义字体截断

ios - 点击按钮时 UIAlertView 崩溃

ios - 单击电子邮件地址时设置默认主题

iOS 如何在已经堆叠的 ViewController 上调用 presentViewController

ios - SCNCylinder 上的设置内容(图像)反转(翻转)