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

前言

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

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索ios
获取view的控制器
获取当前view的控制器、view 所在的控制器、yii2 获取当前控制器、ios 获取当前控制器、ios 获取当前的控制器,以便于您获取更多的相关知识。

时间: 2024-09-12 10:35:37

iOS如何获取当前View所在控制器的方法_IOS的相关文章

iOS中获取系统相册中的图片实例_IOS

本文介绍了iOS中获取系统相册中的图片,在很多应用中都能用到,可以获取单张图片,也可以同时获取多张图片,废话不多说了,看下面吧. 一.获取单张图片 思路: 1.利用UIImagePickerController可以从系统自带的App(照片\相机)中获得图片 2.设置代理,遵守代理协议 注意这个UIImagePickerController类比较特殊,需要遵守两个代理协议 @interface ViewController () <UIImagePickerControllerDelegate,

iOS touch事件区分单击双击响应的方法_IOS

如果您的 iPhone 应用里有个 view,既有单击操作又有双击操作.用户双击 view 时,总是先执行一遍单击的操作再执行双击的操作.所以直接判断时就会发现不能直接进入双击操作.下面是区分 touch 事件是单击还是双击的方法 -(void)singleTap{ NSLog(@"Tap 1 time"); } -(void)doubleTap{ NSLog(@"Tap 2 time"); } - (void)touchesBegan:(NSSet *)touch

iOS swift 总结NavigationController出现问题及解决方法_IOS

IOS swift 总结NavigationController出现问题及解决方法 最近用Swift语言做了一些iOS项目,颇有些心得,记下一些深刻的问题造福自己,服务大家 1.以NavigationController做为容器后状态栏的字体颜色就会不在受系统的控制,要在NavigationController中的根ViewController中设置方可生效,代码如下: self.navigationController!.navigationBar.barStyle = UIBarStyle.

iOS App中调用相册中图片及获取最近的一张图片的方法_IOS

UIImagePickerController从拍照.图库.相册获取图片 iOS 获取图片有三种方法: 1. 直接调用摄像头拍照 2. 从相册中选择 3. 从图库中选择 UIImagePickerController 是系统提供的用来获取图片和视频的接口: 用UIImagePickerController 类来获取图片视频,大体分为以下几个步骤: 1. 初始化UIImagePickerController 类: 2. 设置UIImagePickerController 实例的数据来源类型(下面解

iOS应用开发中UITabBarController标签栏控制器使用进阶_IOS

做了这么长时间的ios开发了,最基本的UITabBarController和UINavigationController都用了好长时间了,总是改现成的代码,或者各种自定义控件的修改,用的都有些混乱了,呵呵.还是自己做个demo再复习一下吧,记录下来以备后续翻查.一.UITabBarController和UINavigationController的联合使用 这种方法最常见,好像一般有tabbar都会有naviBar.一般使用, 1. 在appDelegate里面创建UITabBarControl

ios中获取各种文件的目录路径方法

http://blog.csdn.net/enuola/article/details/8076221 iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么. documents,tmp,app,Library. (NSHomeDirectory()), 手动保存的文件在documents文件里 Nsuserdefaults保存的文件在tmp文件夹里 1.Documents 目录:您应该将所有de应用程序数据文件写入到这个目录下.这个目录

iOS获取当前设备WiFi信息的方法_IOS

前言 最近项目有个需求,获取当前连接的wifi的信息,通过努力终于实现了,现在分享给大家,有需要的可以一起来看. 注意:本文是以Swift代码为例 1.添加模块引用 首先我们在需要获取 WiFi 信息的地方引用需要的模块: import SystemConfiguration.CaptiveNetwork 2.添加获取代码 接下来编写获取 WiFi 信息的代码,如下: //获取 WiFi 信息 func getWifiInfo() -> (ssid: String, mac: String) {

PowerShell包含另一个脚本文件和获取当前脚本所在目录的方法例子_PowerShell

本文介绍在PowerShell脚本中,如何获取脚本文件(.ps1文件)所在的目录.本文介绍在方法适用于PowerShell 3.0. 在PowerShell 3.0中,有一个变量可以很方便的获取脚本所在的目录.我们在e:\ps\script1.ps1和script2.ps1,内容分别如下: script1.ps1内容: 复制代码 代码如下: Write-Host "This is script1.ps1" Write-Host "Let me call script2.ps1

关于iOS导航栏返回按钮问题的解决方法_IOS

最近遇到一个关于导航栏返回按钮的问题,因为之前项目里面都是用的系统默认的返回按钮样式所以没有想过要去更改,后来有需要将返回按钮箭头旁边的文字去掉,同时将该返回按钮的点击事件重新定义.一开始尝试自定义按钮然后设置为leftBarButtonItem,但是这样图片可能跟系统自带的不一样,还有就是返回按钮的位置跟系统自带的不一样.后来找了一些资料,发现将文字去掉比较简单,一般做法是控制器中添加如下代码,然后他的下一级控制就有一个只有箭头没有文字返回按钮: 复制代码 代码如下: UIBarButtonI