IOS-UIButton使用
2017-09-17 本文已影响0人
DaveZ
一、IOS UIButton的基本属性
// 创建一个Button对象,根据类型来创建button
// 圆角类型button:UIButtonTypeRoundedRect
// 通过类方法来创建buttonWithType: 类名 + 方法名,不能通过alloc init方式创建
UIButton* button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
button.frame = CGRectMake(100, 100, 100, 40);
// 按钮的正常状态
[button setTitle:@"点击" forState:UIControlStateNormal];
// 按钮的按下状态
[button setTitle:@"按下" forState:UIControlStateHighlighted];
// 设置按钮的背景色
button.backgroundColor = [UIColor redColor];
// 设置正常状态下按钮文字的颜色,如果不写其他状态,默认都是用这个文字的颜色
[button setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
// 设置按下状态文字的颜色
[button setTitleColor:[UIColor grayColor] forState:UIControlStateHighlighted];
// 设置按钮的风格颜色,只有titleColor没有设置的时候才有用
[button setTintColor:[UIColor whiteColor]];
// titleLabel:UILabel控件
button.titleLabel.font = [UIFont systemFontOfSize:25];
上面就是 UIButton 基本属性的使用。
二、自定义带图片的 UIButton
UIButton* button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(100, 200, 100, 100);
UIImage* icon1 = [UIImage imageNamed:@"img1"];
UIImage* icon2 = [UIImage imageNamed:@"img2"];
[button setImage:icon1 forState:UIControlStateNormal];
[button setImage:icon2 forState:UIControlStateHighlighted];
其实也是很简单的,就是创建了两个图像类,然后设置到 button 上面。
三、给 UIButton 添加点击事件
[button addTarget:self action:@selector(clickButton:) forControlEvents:UIControlEventTouchUpInside];
button.tag = 110;
// 对应触发函数如下
// 参数为调用此函数按钮对象本身
-(void) clickButton:(UIButton*) btn {
if (btn.tag == 100) {
NSLog(@"有参被点击");
}
}
可以看到触发函数的添加也是很简单的,每个UIButton 都有一个可以设置的 tag,通过这个 tag,我们可以区分当多个 UIButton 共用同一个触发函数的时候。
如果本身就没有任何参数传递,我们可以把 clickButton 后面的 : 去掉,然后更改对应的触发函数参数个数就好了。