UIControl :控制类 可以 触摸一个视图执行某个任务 点击某个视图 可以触发一个事件
UIControl :是一个可以带有触发事件的视图
UIControl的子类:UIButton(按钮) UISwitch(开关) UISegmentedControl(分段选择控件) UISlider(滑杆) UITextField(文本输入的控件)
UIPageControl(页面控制:点点) 这些视图都可以点击触发事件
UIControl常用属性:
1、enabled 启用 激活 是用来设置视图是否启用触发事件 默认值是YES 如果设置成NO 就是禁用这个视图的触发事件
2、selected:选中(状态) 是不是选中了这个控件 默认值是NO
3、highlighted:高亮(状态)默认值是NO
UIControl的重要方法:给视图添加响应事件的方法
- (void)addTarget:(nullable id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;
(1)Target:目标 -> 让谁去调用一个方法
(2)action:行动 -> 要让这个目标做什么事儿
(3)SEL:运行时 -> @selecter() -> 选择者(方法选择器) 作用:用来选择一个方法
(4)ControlEvents:控制事件 -> 执行行动的方式
有一个类方法 :+ (instancetype)buttonWithType:(UIButtonType)buttonType;
例如: UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
buttonWithType:后面跟的是按钮的样式 这些类型主要有:
UIButtonTypeCustom //系统定制的样式
UIButtonTypeSystem //系统默认的样式
UIButtonTypeDetailDisclosure //显示详细信息的样式
UIButtonTypeInfoLight //高亮的
UIButtonTypeInfoDark //灰暗
UIButtonTypeRoundedRect //圆角
2、UIButton的一些基本属性
1)、设置文字
[button1 setTitle:@"登录" forState:UIControlStateNormal];//普通状态下显示文字
forState:后面是什么状态下显示设置的文字 主要状态有:
UIControlStateNormal //普通状态
UIControlStateHighlighted //高亮状态(一直点击按钮不放的时候叫做高亮状态)
UIControlStateDisabled //取消禁用状态
UIControlStateSelected //选中状态
[button setTitleColor:[UIColor purpleColor] forState:UIControlStateHighlighted];
//设置字体颜色
[button setTitleShadowColor:[UIColor purpleColor] forState:UIControlStateHighlighted];//设置字体阴影颜色
2)、设置图片
[button setImage:图片 forState:UIControlStateNormal];
button.showsTouchWhenHighlighted = YES; //当点击的时候有高亮
[button setBackgroundImage:图片 forState:UIControlStateNormal]; //设置背景图片
3)、设置背景颜色
button.backgroundColor = [UIColor brownColor];
4)、获得点击状态
button.selected 可以获得当前按钮的点击状态
5)、添加响应事件
[button addTarget:self action:@selector(login:) forControlEvents:UIControlEventTouchDown];//当按钮按下的时候触发响应事件