獲取當前控制器(viewController)
剛才在網上看到一個這樣的文章,感覺很不科學!所以就自己搞一下這個東西,希望大家指正!
廢話不多說,直接上程式碼.
-(UIViewController*)getCurrentViewController
{
UIViewController* viewController =nil;
UIWindow* window = [UIApplicationsharedApplication].delegate.window;
if(window.windowLevel!=UIWindowLevelNormal)
{
NSArray* array = [UIApplicationsharedApplication].windows;
for(UIWindow* windowCurrentinarray)
{
if(windowCurrent.windowLevel==UIWindowLevelNormal)
{
window = windowCurrent;
break;
}
}
}
UIView* view = [[windowsubviews]objectAtIndex:0];
idnextResponder = [viewnextResponder];
if([nextResponderisKindOfClass:[UITabBarControllerclass]])
{
UITabBarController* tabbarViewcontroller = (UITabBarController*)nextResponder;
UINavigationController* navigationController = tabbarViewcontroller.selectedViewController;
viewController = navigationController.topViewController;
}
elseif([nextResponderisKindOfClass:[UIViewControllerclass]])
{
viewController = nextResponder;
}
else
{
viewController = window.rootViewController;
}
returnviewController;
}
歡迎大家批評指正!
相關文章
- 獲取當前螢幕顯示的viewcontrollerViewController
- iOS獲取當前控制器的正確方式iOS
- Rails的Application模板中獲取當前控制器的名字AIAPP
- JavaScript 獲取當前月份JavaScript
- JavaScript 獲取當前域名JavaScript
- javascript獲取當前urlJavaScript
- php 獲取當前域名和當前協議PHP協議
- ios 極光推送獲取當前控制器進行介面跳轉iOS
- mybatis獲取當前時間MyBatis
- Java獲取當前星期幾Java
- JQuery獲取當前元素本身jQuery
- java獲取當前時間Java
- Qt獲取當前時間QT
- js獲取當前時間JS
- Qt 獲取當前時間QT
- 微信小程式獲取當前位置微信小程式
- Android獲取當前桌面桌布Android
- 獲取view所在的ViewControllerViewController
- Swift view 中 獲取ViewControllerSwiftViewController
- TP6 多應用模式下獲取不到當前控制器和方法名模式
- 獲取當前頁面的topViewControllerViewController
- Flutter獲取當前網路型別Flutter型別
- python 如何獲取當前時間Python
- Java如何獲取當前執行緒Java執行緒
- jQuery如何獲取當前元素的索引jQuery索引
- javascript獲取當前的時間戳JavaScript時間戳
- Android中獲取當前位置資訊Android
- 點選按鈕獲取當前位置
- java獲取當前秒數輸出Java
- IOS獲取當前地理位置文字iOS
- 獲取當前會話資訊的方法會話
- QT獲取系統當前時間QT
- iOS 獲取當前連結WiFi名iOSWiFi
- Flutter 小知識,Key的使用(獲取當前點選Widget位置/獲取當前Widget大小)Flutter
- 如何用js獲取當前時間和ip地址以及當前城市JS
- Spark獲取當前分割槽的partitionIdSpark
- react獲取當前頁面的url引數React
- 獲取當前Tomcat例項的埠Tomcat