一: 普通的轉(zhuǎn)場(ctl-drag)
1.選中跳轉(zhuǎn)的segue眠蚂,然后給它一個identifier荧琼。
然后在需要跳轉(zhuǎn)的地方用:
self.performSegueWithIdentifier("identifier", sender: self)周伦。
二:跳轉(zhuǎn)到指定頁面(沒有ctl-drag)
假如我從某個頁面要跳到個人頁面“PersonalController”,先在main.storyboard給“PersonalController”一個storyboard ID叫"confirmToPersonal",
然后在當(dāng)前頁面定義一個controller作為終點controller臊恋,
let personalController = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("confirmToPersonal")
接著在這個頁面需要跳轉(zhuǎn)的地方寫上一句:
self.navigationController?.pushViewController(self.personalController, animated: true)
完成跳轉(zhuǎn)(無需連線)教藻。
三:反向轉(zhuǎn)場:unwind segue
反向轉(zhuǎn)場用于讓view controller退場(dismiss),此方法只有一個參數(shù):segue:UIStoryboardSegue。
如圖匾寝,點擊done后搬葬,回到collection view頁面
collection view controller
1.先在collection view controller里加一個unwindsegue方法,方法名隨便起艳悔。
@IBAction func unwindToHome(segue: UIStoryboardSegue) {
//此方法可用于傳值(反向轉(zhuǎn)場的controller傳值到這里)
}
2.在storyboard 里將done連到exit急凰。(這一步已經(jīng)完成了反向轉(zhuǎn)場)
3.從 collection view controller里跳轉(zhuǎn)到圖片的controller。
let destinationViewController = segue.destinationViewController as! UINavigationController
let photoViewController = destinationViewController.viewControllers[0] as! PhotoViewController
collectionView?.deselectItemAtIndexPath(indexPaths[0], animated: false)
ps: [正向轉(zhuǎn)場]用segue.destinationViewController猜年;[反向轉(zhuǎn)場]用segue.sourceViewController抡锈。
四:從一個頁面push到“登陸頁面”,在登陸頁面按“取消登陸”按鈕码倦,pop回原頁面
//取消登陸
@IBAction func cancelLogin(sender: AnyObject) {
self.navigationController?.popViewControllerAnimated(true)
}
//題外話:如果登陸成功了企孩,可以回到任何一個頁面
//self.navigationController?.pushViewController(self.personalController, animated: true)
效果如圖: