iOS UIControl控件

UIControlUIView的子类,本身包含了一些属性和方法,但是不能直接使用UIControl类,只能通过继承的方式为子类提供公共的接口和动作结构。如果自定义一个可交互控件,可以继承于UIControl而非UIView。可查看iOS UIView控件

1. UIControl的重要方法

action对象的分发

// 发送与指定类型相关的所有行为消息。我们可以调用控件的这个方法来发送参数controlEvents指定的消息
- (void)sendActionsForControlEvents:(UIControlEvents)controlEvents;

// 将消息转发给UIApplication,在它的sendAction:to:fromSender:forEvent:方法中将消息分发到指定的target上
// 如果没有指定target,派发给响应链中第一个愿意处理这个消息的对象中。
- (void)sendAction:(SEL)action to:(nullable id)target forEvent:(nullable UIEvent *)event;

Target-Action管理

// 添加一个action对象
- (void)addTarget:(nullable id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;

// 删除一个action对象
- (void)removeTarget:(nullable id)target action:(nullable SEL)action forControlEvents:(UIControlEvents)controlEvents;

跟踪触摸事件

// 跟踪开始
- (BOOL)beginTrackingWithTouch:(UITouch *)touch withEvent:(nullable UIEvent *)event;
// 跟踪移动
- (BOOL)continueTrackingWithTouch:(UITouch *)touch withEvent:(nullable UIEvent *)event;
// 跟踪结束
- (void)endTrackingWithTouch:(nullable UITouch *)touch withEvent:(nullable UIEvent *)event;
// 跟踪取消
- (void)cancelTrackingWithEvent:(nullable UIEvent *)event;

2. 交互事件UIControlEvents

事件说明
UIControlEventTouchDown控件被按下去的事件
UIControlEventTouchDownRepeat控件被重复点击的时间,点击次数超过一次
UIControlEventTouchDragInside在控件范围内按下并拖动的事件
UIControlEventTouchDragOutside在控件范围内按下并在控件外面拖动的事件
UIControlEventTouchDragEnter从控件范围外拖动到控件范围内的事件
UIControlEventTouchDragExit从控件范围内拖动到控件范围外的事件
UIControlEventTouchUpInside点击控件后在控件范围内释放触发事件
UIControlEventTouchUpOutside点击控件后在控件范围外释放触发事件
UIControlEventTouchCancel触摸取消事件
UIControlEventValueChanged当控件的值发生改变时,发送通知。用于滑块,分段控件,以及其他取值控件
UIControlEventEditingDidBegin文本控件开始编辑时发送通知
UIControlEventEditingChanged文本控件中的内容被改变时发送通知
UIControlEventEditingDidEnd文本控件结束编辑的时候发送通知
UIControlEventEditingDidEndOnExit文本控件内通过按下回车结束编辑时,发送通知
UIControlEventAllTouchEvents通知所有触摸事件
UIControlEventAllEditingEvents通知所有关于文本编辑的时间。
UIControlEventApplicationReserved为应用程序预留
UIControlEventSystemReserved为系统内部框架预留
UIControlEventAllEvents通知所有事件

3. 控件的基本状态UIControlState

状态说明
UIControlStateNormal控件的正常状态
UIControlStateHighlighted控件的高亮状态
UIControlStateDisabled控件的禁用状态
UIControlStateSelected控件的选择状态
UIControlStateFocused控件获取焦点状态
UIControlStateApplication可供应用程序使用状态
UIControlStateReserved为系统内部框架预留状态
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值