欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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能有一定的帮助,如有有疑问大家可以留言交流。

上一篇:

下一篇: