2017-08-08 4 views
2

Ich möchte aktuelle uiviewcontroller aus der Klasse, die inherts von nsobject. Öffnen Sie diese Arbeit? Ich habe versucht, diesen CodeWie starte ich View Controller von nicht ViewController Klasse

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

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

Antwort

2

In Ihrem Code self.present wird nicht funktionieren, weil Sie in einem NSObject Klasse sind.

So verweist selbst auf NSObject-Klasse.

NSObject-Klasse hat keine Methode present drin.

Zum Präsentieren eines View-Controllers benötigen Sie einen Navigationscontroller als Root.

Lösung 1: Holen Sie sich also den Navigationscontroller mit self.navigationController und präsentieren Sie Ihren View Controller dazu.

Lösung 2: Erstellen Sie manuell einen Navigationscontroller und präsentieren Sie ihn.

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