我有一個視圖控制器稱爲登錄VC與導航視圖controller.And我連接兩個按鈕在我的LoginVc.First按鈕將導航到signUp屏幕作爲推segue.Second按鈕將導航到忘記密碼屏幕爲推播。如何調用視圖控制器與導航控制器
現在當用戶登錄並輸入到我的應用意味着。有一個名爲Log out的按鈕名稱。我寫了代碼功能,當用戶按下注銷按鈕時,一個uialert彈出會問「你想要嗎?註銷「。如果用戶按下,他們將再次導航到登錄屏幕。
所以用戶按下注銷後,如果用戶來到登錄屏幕,如果用戶按我的兩個按鈕[我。 e意味着忘記密碼屏幕,註冊屏幕按鈕]。然後我崩潰了。
崩潰報告:
Terminating app due to uncaught exception 'NSGenericException', reason: 'Push segues can only be used when the source controller is managed by an instance of UINavigationController.'
我的註銷按鈕代碼:
@IBAction func LogoutButton(sender: AnyObject) {
NSUserDefaults.standardUserDefaults().setBool(false, forKey: "ISLOGGEDIN")
NSUserDefaults.standardUserDefaults().synchronize()
dispatch_async(dispatch_get_main_queue(), {
let alert = UIAlertController(title: "Logout Successful", message: "You have successfully logged out.", preferredStyle: UIAlertControllerStyle.Alert)
// add an action (button)
alert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.Default){action -> Void in
let loginViewController = self.storyboard?.instantiateViewControllerWithIdentifier("LoginViewController") as? LoginViewController
let appDelegate:AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
appDelegate.window?.rootViewController = loginViewController
})
// show the alert
self.presentViewController(alert, animated: true, completion: nil)
})
}
我嘗試加入這一行:
let vc: UINavigationController = storyboard.instantiateViewControllerWithIdentifier("LoginViewController") as! UINavigationController
但我得到相同problem.Now怎麼能我將我的代碼寫入我的註銷按鈕操作方法。使用導航欄重定向到登錄屏幕。
請幫幫我。謝謝!
看看這個教程:http://code.tutsplus.com/tutorials/ios-from快速導航控制器和視圖控制器層次結構 - cms-25462 –
你可以發佈一些示例代碼,它將與我的登錄導航控制器導航scren – user5513630
它在上面的答案中,查看教程來理解這個邏輯。 –