[英]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.