iOS-个人整理08 - UIControl与子类:UIControlEvents事件,UISwitch

一、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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 好奇触摸事件是如何从屏幕转移到APP内的?困惑于Cell怎么突然不能点击了?纠结于如何实现这个奇葩响应需求?亦或是...
    Lotheve阅读 57,935评论 51 603
  • 在iOS开发中经常会涉及到触摸事件。本想自己总结一下,但是遇到了这篇文章,感觉总结的已经很到位,特此转载。作者:L...
    WQ_UESTC阅读 6,107评论 4 26
  • 代码创建UIWindow对象 Xcode7之后使用代码创建UIWindow对象: //创建UIWindow对象 s...
    云之君兮鹏阅读 1,360评论 0 2
  • UIControl是UIView的子类,当然也是UIResponder的子类。UIControl是诸如UIButt...
    小蘑菇2阅读 2,076评论 0 0
  • 今天是给你老弟断奶的第二天,妈妈很不舒服,我和你说了下你们语文作业然后让你自己安排,没有陪你写作业,上午你自己写...
    淋杰妈咪阅读 136评论 0 0