当视图控制器推送到导航控制器时,viewwillappear和viewdidappear之间存在延迟。 Viewwillappear将立即调用,而viewdidappear将在转换动画结束后调用。
我想制作自定义导航。 Viewcontroller A是一个容器视图控制器。它将包含viewcontroller B或viewcontroller C.首先,viewcontroller包含viewcontroller B(A是B的父控制器)。然后,控制器B将通过转换导航到控制器C.
但是当viewwillappear调用addsubview时,viewdidappear将立即调用。如何在viewwillappear和viewdidappear之间添加延迟?我希望在动画之前调用viewwillappear,并在动画之后调用viewdidappear。你能救我吗?
答案 0 :(得分:0)
有一种很好的方法可以手动延迟,尝试将其放在viewwillappear
double delayInSeconds = 2.0;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC));
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
NSLog(@"Do some work");
});
希望这可以提供帮助。
答案 1 :(得分:0)
这样怎么样?
希望这有用。