ios appdelegate中获取当前显示页
Posted codemaker313
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ios appdelegate中获取当前显示页相关的知识,希望对你有一定的参考价值。
ios appdelegate中获取当前显示页
网上有很多种方法,但是都不好使,找到了这个好使的,和大家分享下。
1 -(UIViewController *)currentViewController 2 { 3 UIViewController * currVC = nil; 4 UIViewController * Rootvc = self.window.rootViewController ; 5 do { 6 if ([Rootvc isKindOfClass:[UINavigationController class]]) { 7 UINavigationController * nav = (UINavigationController *)Rootvc; 8 UIViewController * v = [nav.viewControllers lastObject]; 9 currVC = v; 10 Rootvc = v.presentedViewController; 11 continue; 12 }else if([Rootvc isKindOfClass:[UITabBarController class]]){ 13 UITabBarController * tabVC = (UITabBarController *)Rootvc; 14 currVC = tabVC; 15 Rootvc = [tabVC.viewControllers objectAtIndex:tabVC.selectedIndex]; 16 continue; 17 } 18 // else if ([Rootvc isKindOfClass:[XXXCustom class]]){ 19 // XXXCustom * tabVC = (XXXCustom *)Rootvc; 20 // currVC = tabVC; 21 // Rootvc = tabVC.selectedViewController; 22 // continue; 23 // } 24 } while (Rootvc!=nil); 25 26 27 return currVC; 28 }
以上是关于ios appdelegate中获取当前显示页的主要内容,如果未能解决你的问题,请参考以下文章
在 iOS 中从 AppDelegate 获取数据到 ViewController
如何从 Appdelegate 显示 UIAlertController
IOS 从 AppDelegate 中的 addMessageFromRemoteNotification 显示 UIViewController