您的位置:首页 > 产品设计 > UI/UE

UIButton

2015-07-31 09:10 344 查看
UIButton的自我整理



1.UIButton状态:

UIControlStateNormal // 正常状态

UIControlStateHighlighted // 高亮状态

UIControlStateDisabled // 禁用状态

UIControlStateSelected // 选中状态

UIControlStateApplication //

UIControlStateReserved // 保留状态

2.Uibutton类型:

UIButtonTypeCustom //自定义类型

UIButtonTypeRoundedRect //圆角类型

UIButtonTypeDetailDisclosure //细节展示按钮

UIButtonTypeInfoLight //浅色背景的信息按钮

UIButtonTypeInfoDark //暗色背景的信息按钮

UIButtonTypeContactAdd // 添加按钮

3.UIButton常用属性

给按钮设置文字时,苹果文档说明,不能使用label对象设置文字的颜色或者阴影颜色,相反必须使用setTitleColor:forState: and setTitleShadowColor:forState:这两个方法才能修改这些值。

设置按钮中其他属性依次类推。。。。

//设置对应状态的标题内容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;

这些事件都是基于触摸、基于值、基于编辑。有如下事件会触发。

在点击按钮是按钮是凹下去,然后弹起才触发起事件,按钮的状态有:

1. UIControlEventTouchDown // 按下

2.

3. UIControlEventTouchDownRepeat 多次按下

4. UIControlEventTouchUpInside // 在按钮及其一定外围内松开

5.

6. UIControlEventTouchUpOutside // 按钮外面松开

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个像素的距离。

button有自己的便利构造器,可以来创建对象
UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
//指定button的大小
button.frame = CGRectMake(100,100,100,40);
//设置背景颜色
button.backgroundColor = [UIColor cyanColor];
//放进去
[self.window addSubview:button];
//button不需要release;
//给button设置标题
[ button setTitle:@"确认" forState:UIControlStateNormal ];
//给标题设置字体大小
button.titleLabel.font = [ UIFont systemFontOfSize:20];
//设置圆角和边框
button.layer.cornerRadius = 10;
button.layer.borderWidth = 1;
//给button设置背景图片,图片的格式必须是.png
[ button setBavkgroundImage:[ UIImage imageNamed:@"checked.png"] forState:UIControlStateNormal];
//如果想使用setImage设置成图片的话,button的类型要调整为custom,setImage方法不会把图片放大成按钮大小
UIButton *button = [ UIButton buttonWithType:UIButtonTypeCustom];


//点击方法,button最重要的方法
//第一步.定义button,并给isclick一个初始状态
[ button addTarget:self action:@selector(click:)forControlEvents:UIControlEventTouchUpInside];
self.isclick = YES;
//第二步,定义一个记忆状态的方法
@property(nonatomic , assign)BOOL is click;
//第三步,写点击触发的事件
- (void)click:(UIButton * )button
{
if(self.isclick){
[button setImage:[UIImage imageNamed:@"btnOff.png"] forState:UIControlStateNormal];
}else{
[button setImage:[UIImage imageNamed:@"btnOn.png"] forState:UIControlStateNormal];
}
self.isclick = !self.isclick;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: