[英]Identifying viewcontrollers presented modally in swift
我有2個視圖控制器( viewcontroller1
和viewcontroller2
)。 它們都以模態形式(分別為vc1segue
和vc2segue
)呈現給第三vc2segue
( viewcontroller3
)。 在viewcontroller3中,我希望能夠確定使用哪個viewcontroller / segue來呈現viewcontroller3
並基於哪個在viewcontroller3
執行某些操作。
我如何能夠確定使用了哪個viewcontroller / segue?
使用override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!)
捕獲override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!)
准備並以視圖控制器3現在知道正在發生什么的方式輕推序列目的地。
@Jelle的答案是實現此目的的好方法。 這是在viewController3's viewWillAppear
實現相同功能的另一種方法:
if let viewContr2 = self.presentingViewController as? ViewController2 {
// ViewController2 was who performed the segue
} else if let viewContr3 = self.presentingViewController as? ViewController3 {
// ViewController3 was who performed the segue
}
presentingViewController
可以改變parentViewController
取決於你的架構。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.