- (void)viewDidLoad {
[super viewDidLoad];
//确定按钮的类型:UIButtonTypeSystem表示系统类型
UIButton *btn = [UIButtonbuttonWithType:UIButtonTypeSystem];
//设置按钮的大小
btn.frame = CGRectMake(100, 100, 100, 100);
//设置按钮的背影颜色
btn.backgroundColor = [UIColoryellowColor];
//设置按钮的tag值,可以在其他方法通过tag值取到此按钮
btn.tag = 101;
//设置按钮正常状态下的名字
[btn setTitle:@"按钮"forState:UIControlStateNormal];
//设置按钮点击时的高亮状态,即再点击的时候会闪亮一下
btn.showsTouchWhenHighlighted =YES;
//给按钮添加点击事件
[btn addTarget:selfaction:@selector(changeBtnColor:)forControlEvents:UIControlEventTouchUpInside];
//将按钮添加到视图上去
[self.viewaddSubview:btn];
}
//按钮的点击事件
- (void)changeBtnColor:(UIButton *)button
{
//改变按钮的颜色
button.backgroundColor = [UIColorpurpleColor];
}
以上是按钮的简单的创建。
众多控件是使用alloc来创建的,而按钮是使用便利构造器创建的,便利构造器是一种快速创建对象的方式,实际上就是把初始化方法进行了一次封装,便于使用,例如:+ (instancetype)buttonWithType:(UIButtonType)buttonType。
下面我来给大家详细介绍一下UIButton。
1、按钮的类型:
UIButtonTypeCustom:自定义类型
UIButtonTypeSystem:系统类型的按钮
UIButtonTypeDetailDisclosure:细节展示按钮
UIButtonTypeInfoLight:信息按钮
UIButtonTypeInfoDark:信息按钮
UIButtonTypeContactAdd:显示加号的按钮
2、按钮可拥有的状态
UIControlStateNormal:正常状态
UIControlStateHighlighted:高亮状态
UIControlStateDisabled:禁用状态
UIControlStateSelected:选中状态
UIControlStateFocused:(才疏学浅,暂时不知道什么状态,知道的可以在评论区告知,谢谢)
UIControlStateApplication:应用程序标识时
UIControlStateReserved:保留状态
3、按钮拥有的方法
//设置对应状态下的按钮标题
- (void)setTitle:(nullableNSString *)title forState:(UIControlState)state;
// 设置对应状态下的按钮标题的颜色
- (void)setTitleColor:(nullableUIColor *)color forState:(UIControlState)state;
//设置对应状态下的按钮标题的阴影的颜色
- (void)setTitleShadowColor:(nullableUIColor *)color forState:(UIControlState)state;
//设置对应状态下的按钮视图
- (void)setImage:(nullableUIImage *)image forState:(UIControlState)state;
//设置对应状态下的按钮的背景视图
- (void)setBackgroundImage:(nullableUIImage *)image forState:(UIControlState)state;
//将按钮标题的属性放置于字典中,然后使用
- (void)setAttributedTitle:(nullableNSAttributedString *)title forState:(UIControlState)state;