ios 極光推送獲取當前控制器進行介面跳轉
#pragma mark - 通過推送返回的資料決定跳轉到那個頁面
- (void)JPushjudgeToWhichVC{
if ([self.type isEqualToString:@"1"]) {
//外鏈和APP內活動頁
KindDetailViewController * KindVC = [[KindDetailViewController alloc] init];
KindVC.url = self.redirect;
[[self getCurrentVC] presentViewController:KindVC animated:YES completion:nil];
}
}
#pragma mark - 獲取當前的顯示的控制器
- (UIViewController *)getCurrentVC{
UIViewController *currVC = nil;
UIViewController *rootvc = self.window.rootViewController;
do {
if ([Rootvc isKindOfClass:[UINavigationController class]]) {//控制器為UINavigationController
UINavigationController *nav = (UINavigationController *)rootvc;
UIViewController *vc = [nav.viewControllers lastObject];
currVC = vc;
rootvc = vc.presentedViewController;
}else if ([Rootvc isKindOfClass:[UITabBarController class]]){//控制器為UITabBarController
UITabBarController *tabVC = (UITabBarController *)rootvc;
currVC = tabVC ;
rootvc = [tabVC.viewControllers objectAtIndex:tabVC.selectedIndex];
continue;
}else {//控制器為UIViewController
UIViewController *VC = (UIViewController *)rootvc;
currVC = VC;
Rootvc = VC.presentedViewController;
}
} while (Rootvc != nil);
return currVC;
}
參考資料http://www.jianshu.com/p/a277790c9dc4 在其原有基礎上多新增了一個當前控制是UIViewController 的判斷和處理
相關文章
- iOS獲取當前控制器的正確方式iOS
- iOS —— 極光推送和極光IMiOS
- 獲取當前控制器(viewController)ViewController
- iOS極光推送封裝iOS封裝
- IOS獲取當前地理位置文字iOS
- iOS 獲取當前連結WiFi名iOSWiFi
- iOS 極光推送整合與開發iOS
- iOS 極光推送遇到的問題iOS
- iOS 獲取當前已連線 WiFi 資訊iOSWiFi
- iOS獲取當前 年月日和星期iOS
- iOS-極光推送開發小結iOS
- iOS .a庫打包成.framework(將極光推送的.a庫打包進framework)iOSFramework
- Java如何獲取當前執行緒Java執行緒
- android利用adb命令,獲取當前介面(當前Task的棧頂).Android
- iOS獲取當前顯示的UIViewControlleriOSUIViewController
- 極光筆記丨iOS 15推送新特性筆記iOS
- Rails的Application模板中獲取當前控制器的名字AIAPP
- React Native 跳轉到 APP 推送頁面並獲取推送狀態React NativeAPP
- iOS 點選推送訊息跳轉指定介面 —總結篇iOS
- JavaScript 獲取當前月份JavaScript
- JavaScript 獲取當前域名JavaScript
- javascript獲取當前urlJavaScript
- 極光推送總結
- php 獲取當前域名和當前協議PHP協議
- iOS_極光推送的UNNotificationServiceExtension實現富文字iOS
- android 6.0下獲取當前呼叫介面的包名Android
- 用Delphi獲取當前系統時間 (轉)
- 獲取當前修改的行記錄資料
- 極光推送申請iOS推送證書p12及配置教程iOS
- 極光推送申請iOS推送證書p12及配置流程iOS
- mybatis獲取當前時間MyBatis
- Java獲取當前星期幾Java
- JQuery獲取當前元素本身jQuery
- java獲取當前時間Java
- Qt獲取當前時間QT
- js獲取當前時間JS
- Qt 獲取當前時間QT
- iOS獲取當前裝置的資訊-網路相關iOS