1.UIControl
UIControl:有控制功能的视图的父类
只要跟控制有关的空间都是继承于该类
我们不直接用这个类,而是使用其子类
UIControl常用方法
- (void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;// 添加一个事件
- (void)removeTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;// 移除一个事件
2.UISwitch
UISwitch(开关)
创建方法,其中在frame中size是没有意义的,系统开关控件大小是确定的
UISwitch *firstSwitch = [[UISwitch alloc] initWithFrame:CGRectMake(100, 100, 0, 0)];
设置属性
firstSwitch.onTintColor = [UIColor redColor];// 设置开关开启状态的颜色
firstSwitch.tintColor = [UIColor blackColor];// 设置开关风格颜色
firstSwitch.thumbTintColor = [UIColor blueColor];// 设置开关按钮颜色
[firstSwitch setOn:YES animated:YES];// 手动设置开关状态
// firstSwitch.on 获取开关当前状态
最后不要忘了添加进视图中
[self.view addSubview:firstSwitch];
3.UISlider
UISlider(滑块):通常用于控制视频播放进度,控制音量等
创建方法
UISlider *slider = [[UISlider alloc] initWithFrame:CGRectMake(100, 200, 100, 40)];
设置属性
slider.minimumValue = 0.0;// 设置滑块的最小值
slider.maximumValue = 100.0;// 设置滑块的最大值
slider.value = 50;// 设置滑块的值
slider.minimumTrackTintColor = [UIColor blackColor];// 设置滑块划过区域的颜色
[slider addTarget:self action:@selector(slider:) forControlEvents:UIControlEventValueChanged];// 滑块添加事件,触发方式为值的改变
4.UISegmentedControl
UISegmentedControl(分段):常用于不同类别的信息之间选择,或者切换不同的视图
创建方法
UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:@[@"你",@"我"]];
segmentedControl.frame = CGRectMake(100, 300, 100, 40);
设置属性
// selectedSegmentIndex 指定被选中的分段
// segmentedControlStyle 设置样式
segmentedControl.momentary = YES;// 设置在点击后是否恢复原样
// [segmentedControl setTitle:nil forSegmentAtIndex:0]; 为指定下标的分段这是title
// [segmentedControl setImage: forSegmentAtIndex:]; 为指定小标的分段这只图片
[segmentedControl setEnabled:NO forSegmentAtIndex:1];// 设置指定索引是否可点
segmentedControl.tintColor = [UIColor grayColor];// 样式颜色
[segmentedControl addTarget:self action:@selector(segmentedControl:) forControlEvents:UIControlEventValueChanged];
5.UIPageControl
UIPageControl(页面控制)
创建方法
UIPageControl *pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(100, 400, 100, 40)];
设置属性
pageControl.backgroundColor = [UIColor grayColor];
pageControl.numberOfPages = 3;// 指定页数
pageControl.currentPage = 1;// 设置当前页数,第一页为0
pageControl.currentPageIndicatorTintColor = [UIColor redColor];// 设置当前选中页数的颜色
pageControl.pageIndicatorTintColor = [UIColor whiteColor];// 没有选中页数的颜色
PS:在为以上控件添加点击事件时,通过UIControlEventValueChanged来触发事件