Yur*_*rov 58 uinavigationbar uinavigationcontroller viewcontroller ios swift
我有系统"NavigationViewController - > MyViewController",我编程想要在第三个视图控制器中呈现MyViewController.问题是我在呈现它之后在MyViewController中没有导航栏.你能帮助我吗?
var VC1 = self.storyboard.instantiateViewControllerWithIdentifier("MyViewController") as ViewController
self.presentViewController(VC1, animated:true, completion: nil)
Run Code Online (Sandbox Code Playgroud)
ste*_*yde 186
调用在现有导航堆栈之外以模态方式presentViewController
呈现视图控制器; 它不包含在您的UINavigationController或任何其他内容中.如果您希望新视图控制器具有导航栏,则有两个主要选项:
选项1.将新视图控制器推送到现有导航堆栈,而不是以模态方式呈现:
let VC1 = self.storyboard!.instantiateViewControllerWithIdentifier("MyViewController") as! ViewController
self.navigationController!.pushViewController(VC1, animated: true)
Run Code Online (Sandbox Code Playgroud)
选项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)
Run Code Online (Sandbox Code Playgroud)
请记住,此选项不会自动包含"后退"按钮.你必须自己建立一个紧密的机制.
哪个最适合您的是人机界面设计问题,但通常清楚哪些是最有意义的.
Mak*_*zev 14
SWIFT 3
let VC1 = self.storyboard!.instantiateViewController(withIdentifier: "MyViewController") as! MyViewController
let navController = UINavigationController(rootViewController: VC1)
self.present(navController, animated:true, completion: nil)
Run Code Online (Sandbox Code Playgroud)
Vin*_*shi 13
我的导航栏没有显示,所以我在Swift 2 iOS 9中使用了以下方法
let viewController = self.storyboard?.instantiateViewControllerWithIdentifier("Dashboard") as! Dashboard
// Creating a navigation controller with viewController at the root of the navigation stack.
let navController = UINavigationController(rootViewController: viewController)
self.presentViewController(navController, animated:true, completion: nil)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
84425 次 |
最近记录: |