基本控件文档-UIButton属性
Fullscreen
UIButton属性
技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http://weibo.com/luohanchenyilong
1.UIButton状态:
UIControlStateNormal // 正常状态
UIControlStateHighlighted // 高亮状态
UIControlStateDisabled // 禁用状态
UIControlStateSelected // 选中状态
UIControlStateApplication //
UIControlStateReserved // 保留状态
2.Uibutton类型:
UIButtonTypeCustom // 自定义类型
添加图片:
![](http://postachio-images.s3-website-us-east-1.amazonaws.com/96083b7bb56878d8f4821117b754ca3a/c0a07a05cd5f7298ddf88d9be5fae4fa/w600_7bf2363af0bcef4645517afbfe769a4b.png)
![](http://postachio-images.s3-website-us-east-1.amazonaws.com/96083b7bb56878d8f4821117b754ca3a/c0a07a05cd5f7298ddf88d9be5fae4fa/w600_ff8cd491dabe5db2cce3622e29b2f8a0.png)
UIButtonTypeRoundedRect // 圆角类型
![](http://postachio-images.s3-website-us-east-1.amazonaws.com/96083b7bb56878d8f4821117b754ca3a/c0a07a05cd5f7298ddf88d9be5fae4fa/w600_3be886bbf340ed7be0d3bf3e3dfdd990.png)
UIButtonTypeDetailDisclosure // 细节展示按钮
![](http://postachio-images.s3-website-us-east-1.amazonaws.com/96083b7bb56878d8f4821117b754ca3a/c0a07a05cd5f7298ddf88d9be5fae4fa/w600_87132c87b83c4ceddac5b4c484e8a799.png)
UIButtonTypeInfoLight // 浅色背景的信息按钮
![](http://postachio-images.s3-website-us-east-1.amazonaws.com/96083b7bb56878d8f4821117b754ca3a/c0a07a05cd5f7298ddf88d9be5fae4fa/w600_532599061a76ec68cdae3a9a19f02a6a.png)
UIButtonTypeInfoDark // 暗色背景的信息按钮
![](http://postachio-images.s3-website-us-east-1.amazonaws.com/96083b7bb56878d8f4821117b754ca3a/c0a07a05cd5f7298ddf88d9be5fae4fa/w600_45894f77f1a47402c7b294d464f761d5.png)
UIButtonTypeContactAdd // 添加按钮
![](http://postachio-images.s3-website-us-east-1.amazonaws.com/96083b7bb56878d8f4821117b754ca3a/c0a07a05cd5f7298ddf88d9be5fae4fa/w600_876561c522eeded5a86758ead9574935.png)
3.UIButton常用属性
给按钮设置文字时,苹果文档说明,不能使用label对象设置文字的颜色或者阴影颜色,相反必须使用 setTitleColor:forState: and setTitleShadowColor:forState: 这两个方法才能修改这些值。
![](http://postachio-images.s3-website-us-east-1.amazonaws.com/96083b7bb56878d8f4821117b754ca3a/c0a07a05cd5f7298ddf88d9be5fae4fa/w600_785de215ffb0050616896cd0b4ff2dae.png)
设置按钮中其他属性依次类推。。。。
// 设置对应状态的标题内容 default is nil. title is assumed to be single line
- (void)setTitle:(NSString *)title forState:(UIControlState)state;
//设置对应状态的标题颜色
- (void)setTitleColor:(UIColor *)color forState:(UIControlState)state;
//设置对应状态的标题阴影颜色
- (void)setTitleShadowColor:(UIColor *)color forState:(UIControlState)state;
//设置对应状态的按钮的图片
- (void)setImage:(UIImage *)image forState:(UIControlState)state;
//设置对应状态的按钮背景图片
- (void)setBackgroundImage:(UIImage *)image forState:(UIControlState)state;
添加事件
- ( void )addTarget:( id )target action:( SEL )action forControlEvents:( UIControlEvents )controlEvents;
这些事件都是基于触摸、基于值、基于编辑。有如下事件会触发。
在点击按钮是按钮是凹下去,然后弹起才触发起事件,按钮的状态有:
UIControlEventTouchDown // 按下
UIControlEventTouchDownRepeat 多次按下
UIControlEventTouchUpInside // 在按钮及其一定外围内松开
UIControlEventTouchUpOutside // 按钮外面松开
技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http://weibo.com/luohanchenyilong
4.adjustsImageWhenDisabled
当按钮禁用的情况下,图像的颜色会被画深一点,默认为YES。
5.adjustsImageWhenHighlighted
当按钮高亮的情况下,图像的颜色会被画深一点,默认为YES。
6.showsTouchWhenHighlighted
button.showsTouchWhenHighlighted=YES; 点击时的闪光效果会被前景图片遮住中间部分;
6.contentEdgeInsets
设置按钮的内部内容(包含按钮图片和标题)离按钮边缘上下左右的距离。
7.按钮实例
1. 有些时候我们想让UIButton的title居左对齐,我们设置
btn.textLabel.textAlignment = UITextAlignmentLeft
是没有作用的,我们需要设置
btn.contentHorizontalAlignment = UIControlContentHorizonAlignmentLeft;
但是问题又出来,此时文字会紧贴到左边框,我们可以设置
btn.contentEdgeInsets = UIEdgeInsetsMake(0,10, 0, 0);
使文字距离左边框保持10个像素的距离。