我希望这是一个简单的问题。如果我有一个 UINavigationController 并且我将一个新的视图控制器推送到带有动画转换的堆栈上,我如何检测动画何时完成并且新的视图控制器在屏幕上?
我有一些场景需要推送一个新控制器,然后必须执行长时间运行的操作。我想先推送新视图,以便在我开始长时间阻塞主线程之前屏幕上有一些东西。如果我在我的长时间运行的任务之后立即执行推送,则视图不会显示,直到两者都完成并且主线程能够再次处理事件之后。
所以,一旦动画完成并且视图在屏幕上,我想做的就是能够在新控制器中检测到,然后开始任务。