美文网首页
UIControl对象的介绍

UIControl对象的介绍

作者: 蜂子fightting | 来源:发表于2016-08-09 17:58 被阅读61次

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方法,在此方法中编写事件逻辑便可完成事件响应,用这种方法相比第一种来说更直观,开发效率也更高。

相关文章

  • UIControl对象的介绍

    UIControl是UIView的子类,当然也是UIResponder的子类。UIControl是诸如UIButt...

  • UIButton的使用

    1、简单介绍UIButton UIButton是继承于UIControl(UIControl继承于UIView),...

  • UIControl

    接下来是UIControl对象UIControl是UIView的子类,当然也是UIResponder的子类。UIC...

  • Objective-C UIControl详解

    接下来是UIControl对象 UIControl是UIView的子类,当然也是UIResponder的子类。UI...

  • UIControl

    首先不得不说 UIButton的父类就是UIControl今天主要介绍UIControl的四种控件 UISwitc...

  • iOS-UIKit框架学习—UIControl

    UIControl是为控制对象,如用户的意图传达到应用程序的按钮和滑块的基类。你不能直接使用UIControl类实...

  • iOS UIControl的简单介绍

    UIControl :继承于NSObject,并拥有以下的子控件 控件我这里就介绍UISwitch、UISlide...

  • iOS开发之四:常用控件--UIButton的使用

    在介绍UIButton的用法前,要先了解一下它的父类UIControl,UIControl是所有具有事件处理功能控...

  • Xcode编译xib连线报错

    1.xib连线错误 判断对象能否连线要看对象的类是否继承与UIControl 错误一: 描述: reason:'[...

  • 11.UIGestureRecognizer

    为没有继承UIControl的视图对象添加响应事件 1.1 UIGestureRecognizer类包含UIRes...

网友评论

      本文标题:UIControl对象的介绍

      本文链接:https://www.haomeiwen.com/subject/kbedsttx.html