1、UIButon控件详解ide
<一>UIButton与UILabel的区别与联系spa
联系:都是UIView的直接或间接的子类,都具备UIView的属性和行为,UIView表明及其子类都表明一个矩形区域。orm
区别:继承
一、UILabel是直接继承UIView,而UIButton是间接继承其父类UIControl是直接继承UIview事件
2、UIView有一个属性叫作userInteractionEnable(该属性决定是否可以接受并响应事件),UILabel为NO,UIcontrol及其全部的子类的userInteractionEnable属性的值默认为YES,UIControl及其子类响应事件每每是经过addTarget方法,天加点击事件图片
<二>UIButton的建立rem
一、经过默认样式建立get
二、经过自定义建立it
<三>属性io
配置按钮标题的属性和方法:
- titleLabel属性:按钮标题的标签
- titleForState:方法:指定状态下的按钮标题
- setTitle:forState:方法:设置指定状态下按钮的标题
- titleColorForState:方法:指定状态下的按钮标题颜色
- setTitleColor:forState:方法:设置指定状态下按钮标题的颜色
- setTitleShadowColor:forState:方法:设置指定状态下按钮标题阴影的颜色
配置按钮显示的方法:
- backgroundImageForState:方法:得到指定状态下的背景图
- setBackgroundImage:forState:方法:设置指定状态下的背景图
- imageForState:方法:得到指定状 态下的按钮图片
- setImage:forState:方法:设置指定状态下的按钮图片
配置边距的属性:
- contentEdgeInsets属性:内容的边距
- titleEdgeInsets属性:标题的边距
- imageEdgeInsets属性:图片的边距
获取按钮当前状态的属性:
- buttonType属性:可能的取值包括UIButtonTypeCustom、UIButtonTypeSystem、UIButtonTypeDetailDisclosure、UIButtonTypeInfoLight、UIButtonTypeInfoDark、UIButtonTypeContactAdd、UIButtonTypeRounedRect(过期)。
- currentTitle属性:按钮上当前显示的标题
- currentTitleColor属性:当前标题颜色
- currentImage属性:按钮上当前显示的图片
- currentBackgroundImage属性:按钮上当前显示的背景图片
- imageView属性:按钮上的图片视图
继承自UIControl的属性和方法:
- addTarget:action:forControlEvents:方法:将为事件添加的消息接受者和对应的动做加入事件派发表,简而言之就是为控件绑定事件处理的回调方法
- removeTarget:action:forControlEvents:方法:与上面方法的做用相反
- enabled属性:控件是启动仍是禁用
- state属性:控件所处的状态
###UIButton的经常使用事件和状态###
咱们先说一下UIControl的全部可能的事件。
事件类型|说明
:--|:--
UIControlEventTouchDown|单点触摸按下事件,用户点触屏幕,或者又有新手指落下的时候
UIControlEventTouchDownRepeat|多点触摸按下事件,点触计数大于1:用户按下第2、3、或第四根手指的时候
UIControlEventTouchDragInside|当一次触摸在控件窗口内拖动时
UIControlEventTouchDragOutside|当一次触摸在控件窗口以外拖动时
UIControlEventTouchDragEnter|当一次触摸从控件窗口以外拖动到内部时
UIControlEventTouchDragExit|当一次触摸从控件窗口内部拖动到外部时
UIControlEventTouchUpInside|全部在控件以内触摸抬起事件
UIControlEventTouchUpOutside|全部在控件以外触摸抬起事件(点触必须开始与控件内部才会发送通知)
UIControlEventTouchCancel|全部触摸取消事件,即一次触摸由于放上了太多手指而被取消,或者被上锁或者电话呼叫打断
UIControlEventTouchChanged|当控件的值发生改变时,发送通知。用于滑块、分段控件、以及其余取值的控件。你能够配置滑块控件什么时候发送通知,在滑块被放下时发送,或者在被拖动时发送
UIControlEventEditingDidBegin|当文本控件中开始编辑时发送通知
UIControlEventEditingChanged|当文本控件中的文本被改变时发送通知
UIControlEventEditingDidEnd|当文本控件中编辑结束时发送通知
UIControlEventEditingDidOnExit|当文本控件内经过按下回车键(或等价行为)结束编辑时,发送通知
UIControlEventAlltouchEvents|通知全部触摸事件
UIControlEventAllEditingEvents|通知全部关于文本编辑的事件
UIControlEventAllEvents|通知全部事件
对于UIButton来讲,可能绝大多数处理的都是UIControlEventTouchUpInside事件,简单的说就是按钮点击的事件。