UIControl
UIControl是所有控制控件(eg: UIButton, UISegmentedControl, UISlider, UIStepper, UISwitch)的抽象父类。
UISegmentedControl 分段控制
UISegmentedControl是iOS中的分段控制控件,相当于一排UIButton,有且只有一个被选择,通常用来切换view。
UISegmentedControl提供了多种API来控制外观。
// 创建UISegmentedControl
// 1.初始化一个UISegmentedControl对象,该控件有初始化方法,传一个数组进去,参数只能是NSString或UIImage
UISegmentedControl *seg = [[UISegmentedControl alloc] initWithItems:@[@"1", @"2", @"3"]];
// 2.设置控件属性
[seg setFrame:CGRectMake:(20, 50, 280, 30)];
// 3.添加addTarget:action:forControlEvents:方法,为控件添加点击事件,触发条件为UIControlEventValueChanged
[seg addTarget:self action:@selector(segmentedAction:) forControlEvents:UIControlEventValueChanged];
// 4.添加到当前视图上
[self.view addSubview:seg];
// 5.释放
[seg release];
// 6.实现segmentedAction:方法
UISlider 滑块控制
UISlider控制,多用于视频播放,音量控制,亮度控制等,提供了一系列连续的值,可自定义最大值和最小值。
// 创建UISlider
// 1.创建UISlider对象,使用initWithFrame:方法
// 注:滑块的高度是固定的,不收frame.size.height影响
UISlider *slider = [[UISlider alloc] initWithFrame:CGRectMake(20, 50, 280, 50)];
// 2.设置UISlider属性
[slider setMaximumValue:5];
// 设置slider的值是否连续增长
[slider setContinuous:NO];
// 3.给UISlider添加事件 addTarget:action:forControlEvents: 触发条件为UIControlEventValueChanged
[slider addTarget:self action:@selector(sliderAction:) forControlEvents:UIControlEventValueChanged];
// 4.添加到当前视图
[self.view addSubview:slider];
// 5.释放
[slider release];
// 6.实现sliderAction:方法
UIStepper / UISwitch控件 同样作为UIControl的子类,创建方法同上,他们都是用addTarget:action:forControlEvents:方法添加事件,除了UIButton,触发条件都是UIControlEventValueChanged。