深入浅析IOS中UIControl

所属分类: 软件编程 / IOS 阅读数: 1160
收藏 0 赞 0 分享

UIEvent是一系列UITouch的集合,在IOS中负责响应触摸事件。另外还提到了响应者链的概念,在IOS中,所有事件有一个最先响应者,事件可以沿着响应者链向下传递。

接下来是UIControl对象

UIControl是UIView的子类,当然也是UIResponder的子类。UIControl是诸如UIButton、UISwitch、UITextField等控件的父类,它本身也包含了一些属性和方法,但是不能直接使用UIControl类,它只是定义了子类都需要使用的方法。

UIControl对象采用了一种新的事件处理机制,将前一节直接处理的触摸事件转换成简单操作,这样可以无需关心用户访问控件的具体方式。触摸事件到达UIControl对象(由响应者链派遣)后,在UIResponder的方法中(如touchBegan:withEvent)中,UIControl将标准的触摸事件转换为特殊的控件事件,简单的理解就是,UIControl把复杂的触摸事件封装成了简单的易于使用的控件事件。例如通过UIControl对象处理后,按下按钮的事件就被封装成一个控件事件,而不用去判断触摸屏幕的整个操作过程。

例如按钮的单击事件:UIControlEventTouchUpInside

我们所需要知道的是UIControl首先将触摸事件转换为控件事件,再转换为带接收放的操作。我们只要编写第二次转换的代码,就是将控件事件转换为有目标的操作。

使用addTarget:action:forControlEvents

这是UIControl的一个方法,为指定的控件对象添加事件,例如:

[controlObj addTarget:recepientObj action @selector(method) froControlEvents : UIControlEvents];

controlObj是要响应事件的控件对象;

参数receientObj是要把消息发送到哪里,一般是self,通常指实例化控件对象的控制器;

action后面是一个选择器,表示该事件需要响应的方法,事件做什么其实就写在这个方法里面;

最后一个是事件类型,表示响应什么样的事件。

使用的两种方式:

1.通过代码

在代码中新建一个按钮,然后为按钮对象添加addTarget:action:forControlEvents方法,然后编写响应方法即可。

2.通过可视化实现

在IB中按住control键,点击鼠标从按钮拖动到对应的.h文件中,就建立了一个IBAction方法,在此方法中编写事件逻辑便可完成事件响应,用这种方法相比第一种来说更直观,开发效率也更高。

后续还会使用IOS中其他控件,但大致原理都是一样的,后面会结合新的知识来使用这些控件,包括对控件的自定义样式等。

更多精彩内容其他人还在看

iOS基础动画教程分享

这篇文章主要为大家详细介绍了iOS几种基础动画教程,包括位置动画、透明度动画、大小动画等,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

iOS如何获取屏幕宽高、设备型号、系统版本信息

这篇文章主要介绍了iOS如何获取屏幕宽高、设备型号、系统版本信息的相关代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

iOS中给自定义tabBar的按钮添加点击放大缩小的动画效果

这篇文章主要介绍了iOS中给自定义tabBar的按钮添加点击放大缩小的动画效果的相关资料,非常不错,具有参考解决价值,需要的朋友可以参考下
收藏 0 赞 0 分享

详解iOS使用Keychain中的kSecClassGenericPassword存储数据

iOS设备中的Keychain是一个安全的存储容器,本篇文章主要介绍了iOS使用Keychain中的kSecClassGenericPassword存储数据,有兴趣的可以了解一下。
收藏 0 赞 0 分享

详解IOS四种保存数据的方式

本篇文章主要介绍了OS四种保存数据的方式,现在分享给大家,也给大家做个参考。感兴趣的小伙伴们可以参考一下。
收藏 0 赞 0 分享

iOS图片界面翻页切换效果

这篇文章主要为大家详细介绍了iOS图片界面翻页切换效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

IOS中对Url进行编码和解码示例

本篇文章主要介绍了IOS中对Url进行编码和解码示例,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

iOS实现圆角箭头矩形的提示框

不知道大家发现了没,在现在的很多App中常使用圆角箭头矩形, 如微博分组提示框, 地图坐标显示点等。iPad 中有 UIPopoverController 类供开发使用, iPhone中就需要开发人员定制了。那么下面这篇文中就来聊聊定制圆角箭头矩形提示框,有需要的朋友们可以参考借
收藏 0 赞 0 分享

iOS将视频录像切成一张张缩略图

这篇文章主要为大家详细介绍了iOS将视频录像切成一张张缩略图的相关代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

iOS获取验证码倒计时效果

这篇文章主要为大家详细介绍了iOS获取验证码倒计时效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享
查看更多