2017-08-08 7 views
2

現在のuiviewcontrollerをnsobjectから継承するクラスから開きたいと思っています。あなたはNSObjectのクラスの中だから 私はあなたのコードself.present文句を言わない作業では、このコード非viewcontrollerクラスからView Controllerを起動する方法

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

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

答えて

2

を試してみました。

したがって、selfはNSObjectクラスを参照します。

NSObjectクラスには、presentというメソッドがありません。

ビューコントローラを表示するには、ルートとしてナビゲーションコントローラが必要です。

解決策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) 
関連する問題