iOS如何获取当前View所在控制器的方法
程序员文章站
2023-12-16 21:19:10
前言
不知道大家有没有遇到过在做轮播图的时候,有点轮播图展示的是广告,有的是活动,等等还有其他的,当前点击某个轮播的时候要跳转到不同的控制器,点击事件是在控制器写的,为了...
前言
不知道大家有没有遇到过在做轮播图的时候,有点轮播图展示的是广告,有的是活动,等等还有其他的,当前点击某个轮播的时候要跳转到不同的控制器,点击事件是在控制器写的,为了避免控制器代码过多,显示的臃肿。我创建了一个uiwindow的分类,暂且叫model (getcurrentvc)
实现方法
谷歌还有很多方法,下面这个方法亲测有效,有需要的可以参考借鉴。
一:
@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
总结
以上就是ios如何获取当前view所在控制器的实现方法,希望本文对大家开发ios能有一定的帮助,如有有疑问大家可以留言交流。