UIControl

前言

  • UIControl 从字面翻译成为控制器,可以触发事件,达到和用户进行交互。

1、UIControl 的创建

// 实例化 UIControl 对象
UIControl *control = [[UIControl alloc] initWithFrame:CGRectMake(self.view.bounds.size.width/2 - 100, 100, 200, 100)];

control.backgroundColor = [UIColor redColor];

[self.view addSubview:control];

// 添加/删除触发事件
/*
- (void)addTarget:(nullable id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;
- (void)removeTarget:(nullable id)target action:(nullable SEL)action forControlEvents:(UIControlEvents)controlEvents;

(id)target:                        响应对象,就是触发了 control 的某个事件后响应谁的方法
(SEL)action:                       触发某个事件后响应 target 的哪个方法
(UIControlEvents)controlEvents:    触发 control 的哪个事件

UIControlEventTouchDown              // 按下
UIControlEventTouchDownRepeat        // 双击,连续按下2次
UIControlEventTouchDragInside        // 内部拖动,不松手就触发事件,一直触发
UIControlEventTouchDragOutside       // 向外拖出,不松手就触发事件,一直触发
UIControlEventTouchDragEnter
UIControlEventTouchDragExit          // 向外拖出,不松手就触发事件,只触发一次
UIControlEventTouchUpInside          // 单击
UIControlEventTouchUpOutside         // 向外拖出,松手后触发事件
UIControlEventTouchCancel

UIControlEventValueChanged           // 数值改变,sliders, etc.

UIControlEventEditingDidBegin        // 开始编辑,UITextField
UIControlEventEditingChanged         // 编辑中
UIControlEventEditingDidEnd          // 结束编辑
UIControlEventEditingDidEndOnExit    // 结束编辑,'return key' ending editing

UIControlEventAllTouchEvents         // 所有事件,for touch events
UIControlEventAllEditingEvents       // 所有编辑事件,for UITextField
UIControlEventApplicationReserved    // range available for application use
UIControlEventSystemReserved         // range reserved for internal framework use
UIControlEventAllEvents
*/

// 添加触发事件
[control addTarget:self action:@selector(controlClick:) forControlEvents:UIControlEventTouchUpInside];

// 一个控件可以添加多个事件
[control addTarget:self action:@selector(controlClickOther:) forControlEvents:UIControlEventTouchDragOutside];

// 删除添加的事件
[control removeTarget:self action:@selector(controlClickOther:) forControlEvents:UIControlEventTouchDragOutside];

2、自定义点击触发事件处理

// 控件触发事件处理,一般响应方法都会有一个参数,没有也可以,该参数一般是触发的对象
- (void)controlClick: (UIControl *)control {

}

- (void)controlClickOther: (UIControl *)control {

}

转载于:https://www.cnblogs.com/CH520/p/9413475.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值