**如何在swift中獲取呈現視圖控制器。我正在使用故事板ID。**並且爲了呈現下一個視圖控制器,我如何添加到層次結構中?如何獲取當前視圖控制器(當前呈現)使用故事板編號在swift progaramatically?
我想是這樣的:
let mainStoryboard = UIStoryboard(name: "Main", bundle: nil)
let logincontroller = mainStoryboard.instantiateViewControllerWithIdentifier("LoginViewController")
if UIApplication.sharedApplication().keyWindow?.rootViewController.presentingViewController == logincontroller {
let mainStoryboard = UIStoryboard(name: "Main", bundle: nil)
let nextVC = mainStoryboard.instantiateViewControllerWithIdentifier(storayboardIdentifier)
self.presentViewController(nextVC, animated: true, completion: nil)
}
在Appdelegate.swift
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
if isLoggedin == false {
self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let initialViewController = storyboard.instantiateViewControllerWithIdentifier("LoginViewController")
self.window?.rootViewController = initialViewController
self.window?.makeKeyAndVisible()
return true
}
else {
self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let initialViewController = storyboard.instantiateViewControllerWithIdentifier("HomeViewController")
self.window?.rootViewController = initialViewController
self.window?.makeKeyAndVisible()
return true
}
}
代碼的工作,它顯示的看法,但它仍然有一個警告
無法實例默認視圖控制器爲 UIMainStoryboardFile'Main' - 可能指定的入口點是 沒有設置?
這將不完全編譯。 'presentViewController'不接受可選項,但是'objNextViewController'在這裏是可選的。另外,你可能需要'as? UIViewController'(儘管演員是不必要的)。 – nhgrif
這必須是正確的答案 –
感謝@AlessandroOrnano – Hasya