UIViewController 的 viewDidAppear 在模式关闭后不会被调用

2024-04-22

UIViewController(视图 A)通过将另一个视图控制器(视图 B)作为模态控件调用来调用它。

[自我呈现模态视图控制器:视图是动画的:TRUE];

视图 B 通过调用而存在:

[自我解雇ModalViewControllerAnimated:TRUE];

发生这种情况时,一切看起来都正确,除了视图 A 的 viewWillAppear 和 viewDidAppear 没有被调用(尽管它们在应用程序初始化期间被调用)。奇怪的是......我相信我以前做过这个,但我不确定现在发生了什么。

我做的事情有什么明显错误吗? 谢谢!

* 更新 *我刚刚了解到,这种行为仅发生在 UIModalTransitionStylePartialCurl 转换类型中。对于所有其他转换类型,父视图控制器可以很好地获取其 viewDidAppear 消息。

那么现在我该怎么办?!


我刚刚遇到了同样的问题。

我通过添加委托和委托方法解决了这个问题。

因此,当控制器 A 将控制器 B 作为具有卷页功能的模态视图控制器打开时,我将控制器 b's.delegate 的实例设置为控制器 a。

在控制器 B 中我添加以下内容:

-(void) viewWillDisappear:(BOOL)animated {
    [super viewWillDisappear:animated];

    if (delegate)
        [delegate didCloseInfoViewController];
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UIViewController 的 viewDidAppear 在模式关闭后不会被调用 的相关文章

随机推荐