当前位置: 首页 > 编程笔记 >

iOS如何获取当前View所在控制器的方法

谭桐
2023-03-14
本文向大家介绍iOS如何获取当前View所在控制器的方法,包括了iOS如何获取当前View所在控制器的方法的使用技巧和注意事项,需要的朋友参考一下

前言

不知道大家有没有遇到过在做轮播图的时候,有点轮播图展示的是广告,有的是活动,等等还有其他的,当前点击某个轮播的时候要跳转到不同的控制器,点击事件是在控制器写的,为了避免控制器代码过多,显示的臃肿。我创建了一个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所在控制器的实现html" target="_blank">方法,希望本文对大家开发iOS能有一定的帮助,如有有疑问大家可以留言交流。

 类似资料:
  • 如果运行在负载均衡器之后,最好应该理解头。因此,在本例中,我想让类似于。如果需要的话,我将使用Netty服务器实现。

  • 我正在开发一个Spring应用程序,并在HandlerInterceptorAdapter的预处理()方法中对用户进行身份验证,如果用户进行了身份验证,我将如下设置请求属性: 如果用户未通过身份验证,我是这样设置的 然后在稍后的控制器方法中,我用HttpServletRequest检索用户,如下所示: 问题是我需要在每个控制器方法中接收HttpServletRequest,以检查用户是否经过身份验

  • 问题内容: 我有一个externalItems列表。在每个externalItem内,我都有一个innerItems列表。它们是动态排序的。 当鼠标光标指向innerItems之一时,我必须在该innerItem元素上方显示弹出窗口。 Popup div是body的孩子,因为我不想为innerItems的每个单独创建一个弹出窗口。 我所看到的方式—在我调用的函数中,将左/上属性设置为绝对定位的弹出

  • 问题内容: 我想在控制器中调用视图方法,但我不知道如何:)我寻求类似的示例,但没有找到它。我可以在这段代码中这样做吗?我是否必须重新构建?我使用javafx和fxml技术(来构建用户界面)。 我的视图文件(它具有gotoRegister()和gotoLogin()方法(我想调用它们)) 我的控制器(在这里我想调用gotoRegister()方法) 我的问题:我可以调用gotoRegister吗?或

  • 本文向大家介绍PHP获取当前所在目录位置的方法,包括了PHP获取当前所在目录位置的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP获取当前所在目录位置的方法。分享给大家供大家参考。具体分析如下: 如果要获取脚本文件的目录,要应用函数getcwd()来实现。函数声明如下: string getcwd ( void ) ; 成功执行后返回当前目录字符串,失败返回FALSE。 示例如下

  • 我想在Xcode或终端中看到它,但如果我需要使用另一个软件,这不是问题。