据我所知,至少有两种方法可以在另一个 UIViewController 上呈现 UIViewController,第一种是在 UIViewController 上使用 presentModalViewController:animated: ,另一种是在 UINavigationController 上使用 pushViewController:animated: ,似乎当 2 个视图控制器更改其外观时,调用出现/消失回调的顺序不同。下面是一个例子,A是一个UINavigationController,B是一个普通的视图控制器,实际的回调顺序是:
(1)A使用presentModalViewController:animated:来显示B:
[B viewWillAppear];
[A viewWillDisappear];
[B viewDidAppear];
[A viewDidDisappear];
(2) A使用pushViewController:animated:来显示B:
[A viewWillDisappear];
[B viewWillAppear];
[A viewDidDisappear];
[B viewDidAppear];
所以我的问题是,这些不同的回调顺序是否稳定,或者没有我们可以依赖的确定的顺序?如果稳定的话,有没有文件提到这种行为?
UIKit should在主线程上工作,所以我猜序列是稳定的,对于当前的 SDK 版本。但是,只要该行为没有记录在案(据我所知),我就会认为它可能会发生变化,恕不另行通知。
我只是好奇;为什么需要这些方法的确定性序列?也许您可以找到解决方法(这可能是更好的方法)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)