拖动条是通过滑块的位置来标识数值,而且拖动条允许用户拖动滑块来改变值。因此,拖动条通常用于对系统的某种数值进行调节,如调节亮度,透明度,音量等。
一、属性介绍
- @property(nonatomic) float value; //设置当前slider的值,默认是0.
- @property(nonatomic,getter=isContinuous) BOOL continuous; //滑动时是否连续触发事件,默认为YES;
- @property(nullable, nonatomic,strong) UIColor *minimumTrackTintColor//滑动条完成部分的轨道颜色
- @property(nullable, nonatomic,strong) UIColor *maximumTrackTintColor //滑动条未完成部分的轨道颜色
- @property(nullable, nonatomic,strong) UIColor *thumbTintColor//滑块的颜色
由于UISlider继承于UIControl,所以我们可以为它的Value Changed事件绑定 UIControlEventValueChanged事件处理方法。
- [self.mySlider addTarget:self action:@selector(change) forControlEvents:UIControlEventValueChanged];
二、示例代码
- 创建所需的控件属性
- @property (strong, nonatomic) UISlider *mySlider;
- @property (strong, nonatomic) UIImageView *myImageView;
- 使用懒加载方式初始化所需控件
- - (UISlider *)mySlider{
- if (!_mySlider) {
- _mySlider = [[UISlider alloc] initWithFrame:CGRectMake(0, 300, 375, 10)];
- _mySlider.value = 0.5;//设置当前滑块处于滑动条中间
- _mySlider.continuous = NO;//不连续触发事件
- _mySlider.minimumTrackTintColor = [UIColor redColor];//设置完成部分的轨道颜色为红色
- _mySlider.maximumTrackTintColor = [UIColor blueColor];//设置未完成部分的轨道颜色为蓝色
- _mySlider.thumbTintColor = [UIColor grayColor];//设置滑块颜色为灰色
- [_mySlider addTarget:self action:@selector(change) forControlEvents:UIControlEventValueChanged];//绑定ValueChange方法
- [self.view addSubview:_mySlider];
- }
- return _mySlider;
- }
- - (UIImageView *)myImageView{
- if (!_myImageView) {
- _myImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 375, 300)];
- _myImageView.image = [UIImage imageNamed:@"1"];
- _myImageView.alpha = .5;//设置图片刚开始透明度为0.5与滑块对应的value保持一致
- [self.view addSubview:_myImageView];
- }
- return _myImageView;
- }
- - (void)viewDidLoad {
- [super viewDidLoad];
- // Do any additional setup after loading the view, typically from a nib.
- [self myImageView];
- [self mySlider];
- }
- 在UISlider的Value Changed事件绑定的方法中修改图片的透明度
- - (void)change{
- [self.myImageView setAlpha:self.mySlider.value];
- }