关于UInavigationController的问题
今天遇到一个很奇怪的bug,A push B, B push C, B Present D
B在Present D的时候要把C先 Pop掉
首先之前的代码是在B中:
[[self navigationController] popToViewController:self animated:YES]; NavigationViewController *navigationController = [[[NavigationViewController alloc]initWithRootViewController:shareDisplayViewController] autorelease]; //回退到选择发起/接入共享的入口界面 [self presentViewController:navigationController animated:NO completion:^{ [[self navigationController] popToRootViewControllerAnimated:NO]; [shareDisplayViewController release]; }];
这样以后 当dismiss掉D以后 发现A控制器导航条的关闭按钮无法点击。
最后找了半天原因,原来问题出来这里
[[self navigationController] popToViewController:self animated:YES];把animated参数改为NO就可以了,具体原因应该是当为YES时pop的过程是一个异步的,再去present D的时候可能pop动作尚未完成 ,特发此文 引以为戒

浙公网安备 33010602011771号