主要功能:

UIContol(控件是所有控件的基类 如:(UIButton)按钮主要用于与用户交互,通常情况下我们不会直接使用UIControl,而是子类化它。

常用属性:

BOOL enabled

   空间默认是启用的,要禁用控件,可以将enabled属性设置为NO,这样将导致控件会略任何触摸控件事件。被禁用后,控件还可以用不同的方式显示自己,

比如变成灰色不可用。由空间的子类完成的,这个属性却存在于UIControl中。

实例演示:

UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(40, 60, 100, 60)];

    button.backgroundColor = [UIColor orangeColor];

    button.enabled = NO;

    [button addTarget:self action:@selector(onButton) forControlEvents:UIControlEventTouchUpInside];

    [self.view addSubview:button];

- (void)onButton{

    NSLog(@"button被点击");
}//不会有输出结果,因为button的事件被禁用。

BOOL selected;

当用户选中控件时,UIControl类会将其selected属性设置为YES。子类有时使用这个属性来让其选择自身,或者来表现不同的行为方式。

布局方式:

UIControlContentVerticalAlignment:垂直对齐方式

1.UIControlContentVerticalAlignmentCenter   //居中
2.UIControlContentVerticalAlignmentTop       //置顶
3.UIControlContentVerticalAlignmentBottom  //底部
4.UIControlContentVerticalAlignmentFill       //填充全部

UIControlContentHorizontalAlignment:水平对齐方式

1.UIControlContentHorizontalAlignmentCenter  //居中
2.UIControlContentHorizontalAlignmentLeft     //居左
3.UIControlContentHorizontalAlignmentRight   //居右
4.UIControlContentHorizontalAlignmentFill       //填充全部

UIControl介绍(二)

- (void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;

UIControl类的提供的标准机制,来进行事件登记和接收。这可以指定控件在发生特定事件时,通知代理的一个方法。此方法用于注册一个事件,事件可以用逻辑OR合并在一起,因此可以在一次单独的addTarget调用中指定多个事件,下列事件为基类UIControl所支持,除非另有说明,也是用所有控件:

UIControlEventTouchDown

单点触摸按下事件:用户点触屏幕,或者又有新手指落下的时候触发 
例如:[button addTarget:self action:@selector(onButton) forControlEvents:UIControlEventTouchDown];

UIControlEventTouchDownRepeat

多线触摸按下事件,点触计数大于1:用户按下两根手指以上时候触发

UIControlEventTouchDragInside

当一次触摸在控件窗口内拖动时

UIControlEventTouchDragUotside

当一次触摸在控件窗口之外拖动时

UIControlEventTouchDragEnter

当一次触摸从控件窗口之外拖动到内部时

UIControlEventTouchExit

当以一次触摸从控件窗口内部拖动到外部时

UIControlEventTouchUpInside

所有在控件之内触摸抬起事件

UIControlEventTouchOutside

所有在控件之外触摸抬起事件(点触必须开始与控件内部才会发送通知)

UIControlEventTouchCancel

所有触摸取消事件,即依稀触摸因为放上了太多手指而被取消或者被上锁或者电话呼叫打断

UIControlEventTouchChanged

当控件的值发生改变时,发送通知。用于滑块,分段控件以及其他取值的控件

UIControlEventEditingDidBegin

当文本控件中开始编辑是发送通知

UIControlEventEditingChanged

当文本控件的文本被改变时发送通知

UIControlEventEditingDidEnd

当文本控件编辑结束时发送通知

UIControlEventEditingDidOnEit

当文本控件内通过按下回车键(或等价行为)结束编辑时,发送通知

UIControlEventEditingEvents

通知所有关于文本编辑的事件

UIControlEventAllEvents

通知所有事件

UIControl介绍(三)

常用方法

- (void)removeTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;

删除一个或多个事件的响应动作,可以是使用UIControl类的removeTarget.使用nil值就可以将给定事件的目标所有动作删除:

注册事件的时候,方法签名有两种:

  • -(void)onEventMethod:(UIControl *)sender;
  • -(void)onEventMethod;

iOS:转载:UIControl的使用的更多相关文章

  1. iOS --转载2018苹果$299美元企业级开发者账号申请攻略

    前言篇 现在苹果企业级开发者账号申请十分严格,大部分企业都无法申请下来,本人尝试过多次申请,现将一些审核技巧分享出来,希望能帮到你们通过申请,需要帮助请看本文最后 2018年6月7号申请成功案例   ...

  2. iOS 转载一篇日期处理文章

    感谢原作者的辛勤付出,由于时间太久,记不住原来的地址了,如果你是原作者,请联系我,我会添加原文连接,谢谢! iOS处理时间的类主要包括NSDate,NSDateFormatter, NSDateCom ...

  3. iOS 通过UIControl,自定义控件

    如:自定义一个可以点击的 图文 #import <UIKit/UIKit.h> @interface UD_Button : UIControl @property(nonatomic,s ...

  4. iOS:转载:同步、异步、并行、串行的详解

    理解 iOS 开发中 GCD 相关的同步(synchronization)\ 异步(asynchronization),串行(serial)\ 并行(concurrency)概念 2014年11月21 ...

  5. ios --转载获ipa 的图片资源

      突然想起当初刚学习iOS的时候,就经常通过抓包和提取素材的方式来模仿App,今天就教大家如何一步步提取App的素材! 大家是否有过想要获取别人的素材的想法?看到某些App的资源很不错,很想导出来用 ...

  6. ios --转载 使用SMSSDK实现短信验证:

    1.先到http://www.mob.com/#/网站注册账号,然后下载最新的sdk(有Android和iOS两个版本,根据需要进行下载) 2.进入到后台选择SecurityCodeSDk(支持全球短 ...

  7. iOS 转载一篇利用dispatch_once创建单例的文章

    感谢文章原作者,http://bj007.blog.51cto.com/1701577/649413

  8. iOS: 转载CoreData数据库框架

    iphone-CoreData的使用详解 一.概念 1.Core Data 是数据持久化存储的最佳方式 2.数据最终的存储类型可以是:SQLite数据库,XML,二进制,内存里,或自定义数据类型 在M ...

  9. iOS:转载FMDB文档

    来自会员pengtao的分享:(原文:https://github.com/ccgus/fmdb) 由于FMDB是建立在SQLite的之上的,所以你至少也该把这篇文章从头到尾读一遍.与此同时,把SQL ...

随机推荐

  1. CentOS 7.2 下 PXE+kickstart 自动安装系统

    一.简单概述 1.1 Kickstart 概述 对于网络安装系统,在linux 下面最熟悉的应该就是 Kickstart 以及 cobbler.写这篇文章的目的在于我公司目前使用的就是 Kicksta ...

  2. win7下docker环境搭建nginx+php-fpm+easyswoole开发环境

    基础的环境已在文章nginx.php-fpm.swoole HTTP/TCP压测对比中搭建了,现在是在这个基础上在搭建easyswoole开发环境 主要要修改的地方是dnmp包里面的docker-co ...

  3. 字符串hash与字典树

    title: 字符串hash与字典树 date: 2018-08-01 22:05:29 tags: acm 算法 字符串 概述 这篇主要是关于字符串里的 字符串hash 和 字符串字典树,,两个都是 ...

  4. Java反射机制demo(六)—获得并操作一个类的属性

    Java反射机制demo(六)—获得并操作一个类的属性 获得并操作一个类的属性?! 不可思议啊,一个类的属性一般都是私有成员变量啊,private修饰符啊! 但是毫无疑问,这些东西在Java的反射机制 ...

  5. 初识Spring——Spring核心容器

    一. IOC和DI基础 IOC-Inversion of Control,译为控制反转,是一种遵循依赖倒置原则的代码设计思想. 所谓依赖倒置,就是把原本的高层建筑依赖底层建筑“倒置”过来,变成底层建筑 ...

  6. iOS 9应用开发教程之使用开关滑块控件以及滚动部署视图

    iOS 9应用开发教程之使用开关滑块控件以及滚动部署视图 使用ios9中的开关.滑块控件 开关和滑块也是用于和用户进行交互的控件.本节将主要讲解这两种控件. ios9开关 开关控件常用来控制某个功能的 ...

  7. 【洛谷】2474:[SCOI2008]天平【差分约束系统】

    P2474 [SCOI2008]天平 题目背景 2008四川NOI省选 题目描述 你有n个砝码,均为1克,2克或者3克.你并不清楚每个砝码的重量,但你知道其中一些砝码重量的大小关系.你把其中两个砝码A ...

  8. bzoj 3306

    以1号节点为根,弄出DFS序,我们发现,对于一个询问:(rt,u),以rt为根,u节点的子树中的最小点权,我们可以根据rt,u,1这三个节点在同一条路径上的相对关系来把它转化为以1为根的在DFS序上的 ...

  9. 51nod 1515 明辨是非 启发式合并

    1515 明辨是非 题目连接: https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1515 Description 给n组操 ...

  10. PAT甲级1114. Family Property

    PAT甲级1114. Family Property 题意: 这一次,你应该帮我们收集家族财产的数据.鉴于每个人的家庭成员和他/她自己的名字的房地产(房产)信息,我们需要知道每个家庭的规模,以及他们的 ...