在当前的SplitViewController星座中,MasterVC在viewWillAppear中执行运算/计算。在DetailVC中需要该操作的结果才能正确加载其视图(DetailVC具有表视图)。

我不知道SplitViewController中的加载/显示顺序如何(如果知道,它的可靠性如何),但是是否有可能


viewWillAppear上的MasterVC中执行运算/计算
将信息传递到DetailVC(使用DetailVC的属性或使用协议)
当所需信息可用时(例如DetailVC的viewWillLoad / viewWillAppear),将加载DetailVC吗?

最佳答案

在启动时,使用拆分视图控制器会同时调用master和detail viewDidLoad方法。因此,您无法基于主视图控制器中发生的事情来控制何时加载明细控制器。详细视图控制器的viewWillAppear在主视图viewWillAppear之前被调用,因为您只能在启动时(纵向)看到详细视图。因此,如果要在主控制器进行计算之前在其中显示某些内容,则可能需要在详细视图控制器中具有占位符视图。

仅当应用启动时iPad处于纵向方向时,这才是正确的。如果在启动应用程序时将其转向横向,则在详细调用这两个方法之前,您将获得母版的viewDidLoad和viewWillAppear。

08-18 10:35