iOS解决使用模态视图 导致无法pushViewController

问题原因:

当登录界面的作为模态视图的话. 当我们离开当前界用presentViewController弹出登录界面的话..就会导致在登录界面导航控制器会失效,你发现不能够push了。这是由于模态视图其实是不同于导航控制器的新的视图, 只有将这个视图处理完成后才能回到原来的视图. 模态视图就相当于死胡同 进入就必须原路返回, 也就是不可以在模态视图中执行页面跳转.也就是模态中无法获取导航控制器 表现在代码里则:self.navigationController是nil空的,

问题解决:

如何让模态中的self.navigationController不空呢, 也就很简单了, 只需要在当前视图中创建一个UINavigationcontroller 再进行登录页面的跳转。当前视图的这个模态只作为这个navigationController的rootViewController即可

   LoginViewController *LoginVC = [[LoginViewController alloc]init];
   [LoginVC setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];
   UINavigationController *navi = [[UINavigationController alloc] initWithRootViewController:LoginVC];
   [self.navigationController presentViewController:navi animated:YES completion:nil];

猜你喜欢

转载自blog.csdn.net/C_philadd/article/details/85268063
今日推荐