我想在我的斯威夫特應用程序來創建以下用戶流量:如何回彈到不同導航控制器中的視圖?
- 用戶點擊一個按鈕
- 模態的視圖彈出了一個選擇。用戶選擇一個選項。
- 第二個視圖以另一種選擇出現(使用「顯示」轉換,因此用戶可以按< 返回以更改選擇#1)。用戶選擇第二選擇。
- 第二個模態視圖回退到原始視圖(其中有按鈕)。通過傳遞到VC1參考一路走過來VC3,然後調用
--> NC1 --> VC1 --modal-> NC2 --> VC2 --show-> VC3 (NC = UINavigationController, ^ | VC = UIViewController) | | ----Segue I'm trying to achieve-----
我一直在努力,一直流行回VC1:
要做到這一點,我創建了以下結構VC3中的以下代碼:
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
// Perform Segue
print("Trying to segue")
rootController!.navigationController!.popToRootViewControllerAnimated(true)
tableView.deselectRowAtIndexPath(indexPath, animated: true)
}
其中rootController
是對VC1的引用。不幸的是,賽格不會發生。第二個模態視圖停留在屏幕上,但我得到了「嘗試繼續」消息。
我試圖以正確的方式實現這個用戶流?如果是這樣,任何建議,爲什麼我不能彈出到另一個導航控制器的根視圖?
有包含在你駕駛的所有控制器的屬性稱爲viewControllers,刪除那些你想跳過 –