我制作了一个推送 uinavigationcontroller 的程序。一旦完成,它就会弹出一些东西,然后做一些事情。
它想做的一件事就是等到它完成弹出后再做那件事。
那是因为它可能做的一件事是推动另一个视图控制器。
我该怎么做?
I already create a category
-(void)SafelyPushController:(UIViewController *) pushee
{
AssertMainThread;
if([self.viewControllers lastObject]!=pushee){
[self pushViewController:pushee animated:YES];
while (false);
}
else{
//DLog(@"Dont need to pushview");
}
while (false);
//[self pushViewController:pushee animated:YES];
}
为了防止某些情况。
我需要更通用的解决方案。
就像是:
如果 navigationController 仍在动画,请等到它在后台完成并在当前线程执行此块。
那种事。