2017-08-08 70 views
2

我想打开目前的uiviewcontroller类从nsobject.Inherts inherts.how这项工作? 我想这个代码如何从非视图控制器类启动视图控制器

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

let initialViewController = storyboard.instantiateViewController(withIdentifier: "LoginSignupVC") 
self.present (initialViewController, animated: false, completion: nil) 

回答

2

在你的代码self.present不会工作,因为你是一个NSObject的类中。

所以自我指的是NSObject类。

NSObject类在其中没有方法present

为了呈现视图控制器,您必须以root身份拥有导航控制器。

解决方案1:让导航控制器使用self.navigationController并将视图控制器呈现给它。

let initialViewController = self.storyboard!.instantiateViewControllerWithIdentifier("LoginSignupVC") as! ViewController 
self.navigationController!.presentViewController(initialViewController, animated: true) 

解决方案2:手动创建一个导航控制器并将其呈现在其中。

let initialViewController = self.storyboard!.instantiateViewControllerWithIdentifier("LoginSignupVC") as! ViewController 
let navController = UINavigationController(rootViewController: initialViewController) 
self.presentViewController(navController, animated:true, completion: nil) 
相关问题