iOS如何獲取當(dāng)前View所在控制器的方法
前言
不知道大家有沒(méi)有遇到過(guò)在做輪播圖的時(shí)候,有點(diǎn)輪播圖展示的是廣告,有的是活動(dòng),等等還有其他的,當(dāng)前點(diǎn)擊某個(gè)輪播的時(shí)候要跳轉(zhuǎn)到不同的控制器,點(diǎn)擊事件是在控制器寫的,為了避免控制器代碼過(guò)多,顯示的臃腫。我創(chuàng)建了一個(gè)UIWindow的分類,暫且叫Model (GetCurrentVC)
實(shí)現(xiàn)方法
谷歌還有很多方法,下面這個(gè)方法親測(cè)有效,有需要的可以參考借鑒。
一:
@interfaceUIWindow (GetCurrentVC) - (UIViewController*)getCurrentVC; @end
二:
#import"UIWindow+GetCurrentVC.h"
@implementationUIWindow (GetCurrentVC)
- (UIViewController*)getCurrentVC {
UIViewController*result =nil;
UIWindow* window = [[UIApplicationsharedApplication]keyWindow];
if(window.windowLevel!=UIWindowLevelNormal)
{
NSArray*windows = [[UIApplicationsharedApplication]windows];
for(UIWindow* tmpWininwindows)
{
if(tmpWin.windowLevel==UIWindowLevelNormal)
{
window = tmpWin;
break;
}
}
}
UIView*frontView = [[windowsubviews]objectAtIndex:0];
idnextResponder = [frontViewnextResponder];
if([nextResponderisKindOfClass:[UIViewControllerclass]])
result = nextResponder;
else
result = window.rootViewController;
returnresult;
}
@end
總結(jié)
以上就是iOS如何獲取當(dāng)前View所在控制器的實(shí)現(xiàn)方法,希望本文對(duì)大家開(kāi)發(fā)iOS能有一定的幫助,如有有疑問(wèn)大家可以留言交流。
相關(guān)文章
React Native學(xué)習(xí)教程之Modal控件自定義彈出View詳解
這篇文章主要給大家介紹了關(guān)于React Native學(xué)習(xí)教程之Modal控件自定義彈出View的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用React Native具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-10-10
iOS Objective-c實(shí)現(xiàn)左右滑動(dòng)切換頁(yè)面
這篇文章主要為大家詳細(xì)介紹了iOS Objective-c實(shí)現(xiàn)左右滑動(dòng)切換頁(yè)面,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08
IOS UITableView和NavigationBar的常用設(shè)置詳解
這篇文章主要介紹了IOS UITableView和NavigationBar的常用設(shè)置詳解的相關(guān)資料,需要的朋友可以參考下2017-04-04
iOS App中調(diào)用相冊(cè)中圖片及獲取最近的一張圖片的方法
這篇文章主要介紹了iOS App中調(diào)用相冊(cè)中圖片及獲取最近的一張圖片的方法,示例代碼為傳統(tǒng)的Objective-C語(yǔ)言,需要的朋友可以參考下2016-03-03
iOS使用UIScrollView實(shí)現(xiàn)無(wú)限循環(huán)輪播圖效果
這篇文章主要介紹了iOS使用UIScrollView實(shí)現(xiàn)無(wú)限循環(huán)輪播圖效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07

