1、通用实例化对象方法:
UIButton *button = [[UIButton alloc] initWithFrame:rect];
2、快速实例化对象方法:
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
提示:
在OC开发中,实例化任何类型的非自定义对象,都请首先尝试一下是否存在快速定义方法。如果存在快速定义方法,就尽量不要使用init之类的方法实例化对象!
1、 UIButtonTypeCustom
按钮的内容需要自定义
2、UIButtonTypeRoundedRect
圆角矩形按钮
3、UIButtonTypeDetailDisclosure
显示明细按钮
4、UIButtonTypeInfoLight
亮色信息按钮,用于深色背景
5、UIButtonTypeInfoDark
深色信息按钮,用户浅色背景
6、UIButtonTypeContactAdd
添加按钮
说明:
–前两种类型的按钮最常用
后四种类型的按钮设计,是为了保持用户统一的使用习惯
1、正常状态下按钮文字
[button setTitle:@"按钮" forState:UIControlStateNormal];
2、长按按钮状态下的按钮文字
[button setTitle:@"有人摸我" forState:UIControlStateHighlighted];
注意
–在设置按钮文字时,需要指定文字对应的按钮状态
[button setTitleColor:[UIColor blackColor]
forState:UIControlStateNormal];
[button setTitleColor:[UIColor redColor]
forState:UIControlStateHighlighted];
注意:
–在设置按钮文字颜色时,同样需要指定颜色应用的按钮状态
[button setBackgroundColor:[UIColor orangeColor]];
–在设置背景颜色时,按钮需要是自定义类型
// 加载图像
UIImage *image = [UIImage imageNamed:@"sub_black_add.png"];
// 设置按钮图像
[button setImage:image forState:UIControlStateNormal];
// 设置按钮背景图像
[button setBackgroundImage:image forState:UIControlStateNormal];
–背景图像会根据按钮的尺寸拉伸
–按钮图像会居中显示在按钮中央位置
–如果同时设置了按钮的图像和文字
按钮区域足够大,会并列显示图像和文字
如果区域不够大,优先显示图像
// 设置按钮点击监听
[button addTarget:self action:@selector(tapButton)
forControlEvents:UIControlEventTouchUpInside];
–调用自定义方法需要使用@selector指令
–注意void和IBAction的区别
–按钮事件最多只可以带一个参数