如果我有多个视图控制器以任何顺序呈现和删除,我能确保iOS以正确的顺序(即出现的顺序)调用viewWillAppear
方法吗?
我在文档中找不到任何关于这方面的具体信息。
发布于 2018-01-29 11:04:14
我认为这就是您需要从docs了解viewWillAppear
的全部内容
在将要将视图控制器的视图添加到视图层次结构之前以及在配置用于显示视图的任何动画之前调用此方法。您可以重写此方法以执行与显示视图相关的自定义任务。例如,可以使用此方法修改状态栏的方向或样式,以与正在显示的视图的方向或样式相协调。如果重写此方法,则必须在实现中的某个时刻调用super。
脑海中出现的唯一一件事可能不是绝对清楚的是,当呈现视图控制器将要被解除时,该回调在呈现视图控制器上被调用(因此呈现视图控制器将再次出现)。
因此,如果A
是根目录,则会在A.viewWillAppear
出现在屏幕上之前调用它。然后,如果A
在B
变得可见之前显示B
,则将调用B.viewWillAppear
。当B
被关闭时,A.viewWillAppear
将再次被调用,因为它的视图将再次出现。
发布于 2018-01-29 11:04:32
第一次显示视图时调用viewWillAppear()
,再次显示视图时也调用它,因此在视图控制器对象的生命周期中可以多次调用它。
当视图由于用户点击back按钮、关闭对话框、在选项卡栏控制器中选择了视图控制器的标签或其他各种原因而即将出现时,将调用该函数。确保在实现过程中的某个时刻调用super.viewWillAppear()
https://stackoverflow.com/questions/48499562
复制相似问题