一尘不染

Swift以编程方式导航到另一个视图控制器/场景

swift

我正在使用以下代码以编程方式导航到另一个ViewController。它可以正常工作,但是在某种程度上隐藏了navigation bar
我该如何解决? (如果需要ViewControllernavigation controller话,可通过将嵌入来创建导航栏。)

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

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

阅读 256

收藏
2020-07-07

共1个答案

一尘不染

斯威夫特5

默认的模式呈现样式是卡片。这在顶部显示了以前的视图控制器,并允许用户滑动显示的视图控制器。

为了保留旧样式,您需要修改视图控制器,如下所示:

newViewController.modalPresentationStyle = .fullScreen

对于以编程方式创建和情节提要创建的控制器来说都是相同的。

迅捷3

使用以编程方式创建的控制器

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

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

通过StoryBoard创建控制器

如果要使用标识符“ 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)
2020-07-07