0

在我的ViewControllerA中,我尝试通过调用来显示ViewControllerB :

let VC2 = ViewControllerB()
VC2.modalPresentationStyle = UIModalPresentationStyle.OverCurrentContext
presentViewController(VC2, animated: true, completion: nil)

所以ViewControllerB的内容显示在ViewControllerA的顶部。

当按下ViewControllerB中的按钮时,这被称为:

dismissViewControllerAnimated(true, completion: nil)

但是,viewWillAppearViewControllerA没有被调用。

如果VC2.modalPresentationStyle = UIModalPresentationStyle.OverCurrentContext删除该行,则viewWillAppear调用ViewControllerA

使用时UIModalPresentationStyle.OverCurrentContext,不会调用ViewControllerA的。在这种情况下,如何检测ViewControllerB 是否在 ViewControllerA被解除?我想在 ViewControllerA 中运行一些代码但不在ViewControllerB使用of 。viewWillAppearcompletiondismissViewControllerAnimated

4

1 回答 1

2

为什么不在 上创建自己的完成块ViewControllerB?您可以在创建ViewControllerBon的实例时分配它ViewControllerA,然后您可以在调用时调用它dismissViewControllerAnimatedon ViewControllerB

于 2015-11-02T10:24:25.860 回答