一、UIControl
UIControl是有控制功能的视图的父类,它的子类有UIButton,UISwitch,UISlider等等
只要与控制相关的控件都是它的子类
发生三种事件会触发响应:触摸事件,值改变,编辑内容
UIControl的常用方法
1.添加一个事件
(void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;
target:目标对象
action:方法选择器,也就是执行的方法
controlEvents:触发方法的事件
2.移除一个事件
- (void)removeTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;
参数的意义相同
下面介绍它的触发事件UIControlEvents
//触摸从控件内部拖到到外部
UIControlEventTouchDragExit
//控件内触摸抬起时UIControlEventTouchUpInside
//控件之外触摸抬起时UIControlEventTouchUpOutside
//触摸取消事件,设备被上锁或来电话等UIControlEventTouchCancel
//用户按下时触发
UIControlEventTouchDown
//点击计数大于1时触发UIControlEventTouchDownRepeat
//触摸在控件内拖动时,常用UIControlEventTouchDragInside
//触摸在控件之外拖动时UIControlEventTouchDragOutside
//触摸从控件之外拖到内部时UIControlEventTouchDragEnter
//控件的值发生变化时,常用于Slider,segment等
UIControlEventValueChanged
//文本控件开始编辑时
UIControlEventEditingDidBegin
//控件中文本被改变
UIControlEventEditingChanged
//文本控件编辑结束
UIControlEventEditingDidEnd
//文本控件内通过按下回车键结束编辑时
UIControlEventEditingDidOnExit
//所有触摸事件
UIControlEventAllTouchEvents
//所有编辑事件
UIControlEventAllEditingEvents
//所有事件
UIControlEventAllEvents
二、UISwitch
先介绍一个简单的控件,UISwitch顾名思义是一个开关,用法比较简单
常用方法和属性:
//UISwitch初始化
UISwitch *mySwitch = [[UISwitch alloc]initWithFrame:CGRectMake(100, 200, 0,0)];
mySwitch.onTintColor = [UIColor redColor];//设置开关开启状态的颜色
mySwitch.tintColor = [UIColor grayColor];//设置开关风格颜色,动画中的变化颜色
mySwitch.thumbTintColor = [UIColor yellowColor];//设置开关按钮颜色
mySwitch.on = YES;//开关的状态
[mySwitch setOn:NO animated:YES];//手动设置开关状态
[self.view addSubview:mySwitch];
开关设置后的两种状态:
下一篇介绍UIControl的另外两个子类:UISlider和UISegmentControl