繁体   English   中英

识别快速模态呈现的视图控制器

[英]Identifying viewcontrollers presented modally in swift

我有2个视图控制器( viewcontroller1viewcontroller2 )。 它们都以模态形式(分别为vc1seguevc2segue )呈现给第三vc2segueviewcontroller3 )。 在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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM