ios 中的UIControl类

来源:互联网 发布:高收益网络理财平台 编辑:程序博客网 时间:2024/05/20 07:51

什么是UIControl类

iOS的控件是程序库中预先构建好的一批对象,他们是为了实现用户交互功能而设计的,这些控件包括按钮、文本框、滑杆、开关等,控件的角色就是把用户的操作转化为回调,用户通过触摸及操纵控件来与应用程序交互
在控件类的继承树里,UIControl类是树根。控件类都是UIView的子类,它从UIView中继承了与显示及布局有关的全部属性。当用户操作控件界面时,每个控件都有办法实现消息派发,控件使用目标-动作模式来发送消息。定义新控件的时候,开发者需要指明消息的接收方以及所发送的消息,还要指定发送这些消息的时机。

目标-动作模式

目标-动作设计模式提供了一条可以响应用户交互的底层途径。我们基本上只会在UIControl类的子类中碰到它。经由目标-动作模式,开发者可以在发生了特定的用户事件时,命令控件给指定的对象发送消息。
开发者可以随意提供选择子。由于系统并不在运行期间检查它,所以编写代码时需要小心。假如指定的选择子还没有声明,那么就会发出警告,有时这能提醒开发者注意选择子中的拼写错误,从而防止程序运行时崩溃。
目标-动作模式并不像委托那样去遵循一套预先建立好的方法规范,与委托及其所需的协议不同,系统并不强迫目标对象实现选择子,开发者应该自己来确保回调操作一定能执行某个已经实现好了的方法。用respondsToSelector:@selector()来先判断是否目标对象到底有没有实现指定的选择子。

控件种类和事件

在UIControl中系统所提供的成员有按钮、分段选择控件、开关、滑杆、页面控制控件以及文本框。控件主要响应三类事件:基于触摸的事件、基于值的事件、基于编辑的事件
取自iOS核心开发手册
0 0