小编典典

用NavigationViewController swift展示ViewController

swift

我有系统“ NavigationViewController->
MyViewController”,我以编程方式希望在第三个视图控制器中显示MyViewController。问题是在显示它后,MyViewController中没有导航栏。你能帮助我吗?

var VC1 = self.storyboard.instantiateViewControllerWithIdentifier("MyViewController") as ViewController
self.presentViewController(VC1, animated:true, completion: nil)

阅读 253

收藏
2020-07-07

共1个答案

小编典典

调用presentViewController模态方式
在现有导航堆栈之外显示视图控制器;它不包含在您的UINavigationController或其他任何对象中。如果您希望新的视图控制器具有导航栏,则有两个主要选项:

选项1.将新的视图控制器推到您现有的导航堆栈上,而不是模态呈现:

let VC1 = self.storyboard!.instantiateViewControllerWithIdentifier("MyViewController") as! ViewController
self.navigationController!.pushViewController(VC1, animated: true)

选项2.将新的视图控制器嵌入到新的导航控制器中,并模态显示新的导航控制器:

let VC1 = self.storyboard!.instantiateViewControllerWithIdentifier("MyViewController") as! ViewController
let navController = UINavigationController(rootViewController: VC1) // Creating a navigation controller with VC1 at the root of the navigation stack.
self.present(navController, animated:true, completion: nil)

请记住,此选项不会自动包含“后退”按钮。您必须自己建立一个紧密的机制。

哪个是最适合您的是人机界面设计问题,但通常清楚什么才是最有意义的。

2020-07-07