关于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动作尚未完成   ,特发此文 引以为戒

 

posted @ 2014-07-03 10:42  爱笑的雷小豆  阅读(188)  评论(0)    收藏  举报