我想打开来自nsobject的inherts类的现在的uiviewcontroller。这个工作吗? 我试过这段代码
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let initialViewController = storyboard.instantiateViewController(withIdentifier: "LoginSignupVC")
self.present (initialViewController, animated: false, completion: nil)
答案 0 :(得分:2)
在您的代码中self.present
无法正常工作,因为您在 NSObject 类中。
所以self指的是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)