有沒有辦法讓一個按鈕放鬆回到特定的視圖控制器?例如,假設我有ViewController A和B.兩者都以模態方式繼承到ViewController C.現在我明白如何退回到之前的視圖控制器之一(As was explained here),但我該如何返回到呈現VC C的特定視圖控制器?Segue放鬆回到最後一個特定的視圖控制器
所以總結一下,我試圖弄清楚的是...... 如果A選擇了C,那麼當選擇按鈕時我想退回到A.如果B選擇了C,那麼當選擇該按鈕時,我想退回到B.
有沒有辦法讓一個按鈕放鬆回到特定的視圖控制器?例如,假設我有ViewController A和B.兩者都以模態方式繼承到ViewController C.現在我明白如何退回到之前的視圖控制器之一(As was explained here),但我該如何返回到呈現VC C的特定視圖控制器?Segue放鬆回到最後一個特定的視圖控制器
所以總結一下,我試圖弄清楚的是...... 如果A選擇了C,那麼當選擇按鈕時我想退回到A.如果B選擇了C,那麼當選擇該按鈕時,我想退回到B.
您應該使用標準方式從模態繼續返回。把它放在你的'後退'按鈕中...
[[self presentingViewController] dismissViewControllerAnimated:YES];
這不使用故事板或segue的返回,只是代碼。
您可以使用presentsViewController'title'屬性來將展開過程引導到所需的原始ViewController。該解決方案還允許您從您的視圖控制器C到ViewControllers A和B.
1在視圖控制器A的故事板畫布的頂部傳遞數據)選擇視圖控制器按鈕(黃色的)
2)在屬性檢查器(視圖控制器部分)給ViewController A一個標題。
3)中包括的ViewController甲以下代碼:
@IBAction func returned(segue: UIStoryboardSegue) {
// Don't need any code here
}
4)重複步驟1,2和3的ViewController B.
5)重寫中的ViewController C中的prepareForSegue功能如下:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if self.presentingViewController!.title! == "ViewControllerATitle" {
let destination = segue.destinationViewController as! ViewControllerA
destination.someFunction(someArgument)
}
else if self.presentingViewController!.title! == "ViewControllerBTitle" {
let destination = segue.destinationViewController as! ViewControllerB
destination.someFunction(someArgument)
}
}
或在Swift中:'self.presentingViewController!.dismissViewControllerAnimated(true,completion:nil)'' –