IOS 框架页面跳转、Appdelegate.m控制返回rootVC 

2016/11/15 17:49
阅读数 270

http://www.jianshu.com/p/542ed89b6136
http://m.blog.csdn.net/article/details?id=50905594 
http://m.blog.csdn.net/article/details?id=8476248

 

Token 失效返回登录页

例1: (rootVC)LoginViewController----(presen,no navBar)-----IndexViewController----(presen navBar)-----A----(push To)-----B

         如果B要返回登录页,可以实现:

  1. UIViewController *presenting = self.presentingViewController; //IndexViewController 模态显示的根视图控制器  
  2.     UIViewController *presentingPresenTing = self.presentingViewController.presentingViewController; //LoginViewController 模态显示的根视图控制器的 模态VC  
  3.     UIViewController *presented= self.presentedViewController; //nil 代表被模态显示的VC  
  4.   
  5.       
  6.     [self.presentingViewController.presentingViewController dismissViewControllerAnimated:NO completion:nil];  

 

APPDelegate.m文件,让APP显示主界面
- (void)backToRootViewController  

  1. {  
  2.     UIWindow *keyWindow = [[UIApplication sharedApplication] keyWindow];  
  3.     UINavigationController *rootNav = (UINavigationController*)keyWindow.rootViewController;  
  4.     UIViewController *visibleVC = rootNav.visibleViewController;  
  5.       
  6.     if([visibleVC isKindOfClass:[IndexViewController class]]) return;  
  7.       
  8.     if (![UserInfoObject currentUser].hasSuccess)  
  9.     {  
  10.         [UserInfoObject currentUser].hasSuccess = YES;  
  11.     }  
  12.       
  13.     if(visibleVC.presentingViewController)  
  14.     {  
  15.         [visibleVC dismissViewControllerAnimated:NO completion:^{  
  16.             [self backToRootViewController];  
  17.         }];  
  18.           
  19.     }  
  20.     else  
  21.     {  
  22.         [visibleVC.navigationController popViewControllerAnimated:NO];  
  23.         [self backToRootViewController];  
  24.     }  
  25. }  

 

 

删除导航ViewController

NSMutableArray *navigationArray = [[NSMutableArray alloc] initWithArray: self.navigationController.viewControllers];  

  1.     [navigationArray removeAllObjects];  
  2.       
  3.     if (appDelegate.window.rootViewController)  
  4.     {  
  5.         [appDelegate.window.rootViewController removeFromParentViewController];  
  6.     }  
展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部