按钮
概念:一般情况下,点击某个控件后,会做出相应反应的都是按钮
功能:既能显示文字,又能显示图片,还能随时调整内部图片和文字的位置
-
状态:
- normal
- highlighted
- disabled
创建方式
storyboard
- type:默认是system,只要设置了图片,就会自动调整为custom
- 设置disable状态:将父控件UIControll的enable属性设置为YES
- 测试高亮状态:将父控件UIControll的highlight勾选上
- 代码方式创建
-
创建按钮的同时确定按钮的类型为custom
- 直接alloc init 创建出来的按钮默认就是自定义类型。
IButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
等价 UIButton *btn = [[UIButton alloc] init];
- 直接alloc init 创建出来的按钮默认就是自定义类型。
-
设置按钮的frame
btn.frame = CGRectMake(100, 100, 200, 80);
-
设置按钮在不同状态下显示的文字
[btn setTitle:@"我是按钮" forState:UIControlStateNormal]; [btn setTitle:@"我是高亮按钮" forState:UIControlStateHighlighted]; [btn setTitle:@"不可以点击按钮" forState:UIControlStateDisabled];
-
设置按钮在不同状态下显示的图片
[btn setImage:[UIImage imageNamed:@"pic"] forState:UIControlStateNormal]; [btn setImage:[UIImage imageNamed:@"pic_pressed"] forState:
-
设置按钮在不同状态下显示的背景图片
[btn setBackgroundImage:[UIImage imageNamed:@"buttonred"] forState:UIControlStateNormal]; [btn setBackgroundImage:[UIImage imageNamed:@"buttonred_highlighted"] forState:UIControlStateHighlighted];
-
设置按钮是否可以点击 (默认是可以点击的)
btn.enabled = NO;
-
监听按钮点击
- 只要按钮触发了UIControlEventTouchUpInside 事件,就会调用self对象buttonClick方法
-
[btn addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
UISwitch *s = [[UISwitch alloc] init];
[s addTarget:self action:@selector(switchClick:) forControlEvents:UIControlEventValueChanged];
- 只要继承UIControll就可以用addTarget方法监听事件