![]() |
1
8
未调用viewDidAppear的原因是第一个视图控制器从未消失。如果使用“Over Current Context”,则仍然可以在视图控制器2后面看到视图控制器1(假设有透明部分)。因此,视图控制器1保持可见,从不消失,因此,当视图控制器2显示时,不会调用ViewWillEverge或ViewDidEverge。然后,当您向后展开时,第二个视图控制器消失,但第一个视图控制器不显示,因此不会调用viewWillAppear和viewDidAppear。 如果使用“全屏”,则第一个视图控制器会消失,因此所有功能都会启动。 如果在第二个视图控制器消失并返回第一个视图控制器时需要执行某些操作,可以将其置于“展开”功能中。 编辑 这是一个执行一些代码的技巧,例如从展开序列显示警报视图控制器:
基本上,所做的就是将所需的代码推回到主线程上,然后在展开过程完成后,您回到第一个视图控制器中。 |