2017-08-08 105 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) 
相關問題