IOS 框架页面跳转、Appdelegate.m控制返回rootVC 
IOS 框架页面跳转、Appdelegate.m控制返回rootVC 
xiaobai1315 发表于1年前
IOS 框架页面跳转、Appdelegate.m控制返回rootVC 
  • 发表于 1年前
  • 阅读 31
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

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.     }  
共有 人打赏支持
粉丝 4
博文 168
码字总数 47123
×
xiaobai1315
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: