,,深入浅析IOS中UIControl

,,深入浅析IOS中UIControl

UIControl,相信大家都很熟悉。例如,最常用的UIButton继承自UIControl。下面这篇文章介绍了ios中的UIControl,有兴趣的朋友可以一起学习。

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

接下来是UIControl对象

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

UI对象采用了新的事件处理机制,将上一节直接处理的触摸事件转化为简单的操作,使得用户可以访问UIControl,而不用担心具体的方式。当触摸事件到达UIControl对象(由responder链调度)后,在UIResponder的方法中(如touch begin:withEvent),UIControl将标准的触摸事件转换为特殊的控制事件。简单的理解就是UIControl把复杂的触摸事件封装成一个简单易用的控制事件。比如,按下按钮的事件经过UIControl对象处理后,封装成一个控件事件,不需要判断触摸屏幕的整个操作过程。

例如按钮的单击事件:UIControlEventTouchUpInside

我们需要知道的是,UIControl首先将触摸事件转化为控制事件,然后再转化为带有接收和放置的操作。我们只要写第二次转换的代码,就是把控件事件转换成有针对性的操作。

使用add target:action:for control events。

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

[control obj add target:recepientObj action @ selector(method)froControlEvents:UIControlEvents];

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

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

动作后面跟一个选择器,指示事件需要响应的方法。事件做什么实际上是用这个方法写的;

最后一个是事件类型,它指示要响应哪种事件。

使用的两种方式:

1.传递密码

在代码中创建一个新按钮,然后将add target:Action:for control events方法添加到button对象中,然后编写响应方法。

2.通过可视化来实现它

按住IB中的控制键,点击鼠标,将其从按钮拖动到对应的。h文件,并建立了IBAction方法。在这种方法中,可以编写事件逻辑来完成事件响应。与第一种方法相比,这种方法更直观,开发效率更高。

后面还会用到IOS中的其他控件,但大体原理是一样的。稍后,这些控件将与新知识结合使用,包括控件的自定义样式。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • nagios监控使用方法,nagios下载
  • nagios监控使用方法,nagios下载,Nagios的安装与使用详细教程
  • ios长截图方法,iOS怎样长截图
  • ios长截图方法,iOS怎样长截图,iOS实现简单长截图
  • ios网络视频播放器,Ios音乐播放器
  • ios网络视频播放器,Ios音乐播放器,iOS利用AVPlayer播放网络音乐的方法教程
  • ios状态栏怎么自定义,ios状态栏图标
  • ios状态栏怎么自定义,ios状态栏图标,iOS中状态栏的基本使用方法汇总
  • ios旋转立体图形游戏,ios 旋转屏幕
  • ios旋转立体图形游戏,ios 旋转屏幕,iOS动画特效之立方体翻转
  • iOS推送延迟,ios消息延迟的解决方法
  • iOS推送延迟,ios消息延迟的解决方法,对比分析iOS延迟执行的4种方式
  • ios build版本号规范,ios version什么意思
  • ios build版本号规范,ios version什么意思,iOS 项目中的version和build 详解
  • 电脑bios没有u盘启动选项怎么办,win10u盘启动bios设置后还是无法启动
  • 留言与评论(共有 条评论)
       
    验证码: