Ios 如何在自定义导航中添加ViewWillDisplay和ViewDidDisplay之间的延迟?
将视图控制器推送到导航控制器时,ViewWillDisplay和ViewDidDisplay之间存在延迟。ViewWillDisplay将立即调用,而ViewDidDisplay将在事务动画完成后调用 我想做一个自定义导航。Viewcontroller A是一个容器Viewcontroller。它将包含viewcontroller B或viewcontroller C。首先,viewcontroller包含viewcontroller B(A是B的父控制器)。然后控制器B将通过一个交易导航到控制器CIos 如何在自定义导航中添加ViewWillDisplay和ViewDidDisplay之间的延迟?,ios,Ios,将视图控制器推送到导航控制器时,ViewWillDisplay和ViewDidDisplay之间存在延迟。ViewWillDisplay将立即调用,而ViewDidDisplay将在事务动画完成后调用 我想做一个自定义导航。Viewcontroller A是一个容器Viewcontroller。它将包含viewcontroller B或viewcontroller C。首先,viewcontroller包含viewcontroller B(A是B的父控制器)。然后控制器B将通过一个交易导航到控制
但调用addsubview时,ViewDidDisplay将在ViewWillDisplay之后立即调用。如何在ViewWillDisplay和ViewDidDisplay之间添加延迟?我希望在动画之前调用viewwillappear,在动画之后调用viewdidappear。您能帮助我吗?有一种手动延迟的好方法,请尝试将其放在
视图的底部将出现
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");
});
希望这能有所帮助。这样怎么样
只有一个容器-视图控制器A
B、 C,D。。。是所有子视图,而不是视图控制器
首先,视图控制器A默认具有视图B
然后单击视图B中的按钮
为C制作动画,然后在完成块中隐藏B或删除B
希望这有帮助。在viewcontroller B的视图中有一个按钮。当点击按钮时,它将导航到控制器C。它看起来像pushviewcontroller。不同的是,viewcontroller B将被解除分配。我不想使用navigationcontroller和pushviewcontrller,因为有很多viewcontroller(viewcontroller D、viewcontroller E…),我不想在未显示时将它们留在内存中。