UISlider基本使用

UISlider是一个很常用的UI控件,调节屏幕亮度或者调节音量大小等很多地方都可以用到,而且使用方便,下面我来介绍一下UISlider的基本使用。

首先介绍一下基本属性和常用方法:

//设置当前slider的值,默认为0.0
@property(nonatomic) float value;
//设置slider的最小值
@property(nonatomic) float minimumValue;
//设置slider的最大值
@property(nonatomic) float maximumValue;  
//设置滑块左边的图片
@property(nullable, nonatomic,strong) UIImage *minimumValueImage; 
//设置滑块右边的图片
@property(nullable, nonatomic,strong) UIImage *maximumValueImage;
//设置已完成部分轨道颜色
@property(nullable, nonatomic,strong) UIColor *minimumTrackTintColor;
//设置未完成部分轨道颜色
@property(nullable, nonatomic,strong) UIColor *maximumTrackTintColor;
//设置滑块颜色
@property(nullable, nonatomic,strong) UIColor *thumbTintColor;
//设置slider的值
- (void)setValue:(float)value animated:(BOOL)animated; 
//设置不同状态下滑块的图片
- (void)setThumbImage:(nullable UIImage *)image forState:(UIControlState)state;
//设置不同状态下滑动条左侧的图片
- (void)setMinimumTrackImage:(nullable UIImage *)image forState:(UIControlState)state;
//设置不同状态下滑动条右侧的图片
- (void)setMaximumTrackImage:(nullable UIImage *)image forState:(UIControlState)state;

 

下面来看一个完整示例,通过滑动条来调整图片的透明度

#import "ViewController.h"

@interface ViewController ()
@property(nonatomic,strong)UISlider *slider;
@property(nonatomic,strong)UIImageView *imageView;
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    [self.view addSubview:self.imageView];
    [self.view addSubview:self.slider];
}

//懒加载
- (UISlider *)slider{
    if (_slider == nil) {
        self.slider = [[UISlider alloc]initWithFrame:CGRectMake(20, 60, self.view.frame.size.width - 40, 20)];
        //设置当前slider的值,默认是0
        _slider.value = 0.5;
        //已完成线条颜色
        _slider.minimumTrackTintColor = [UIColor greenColor];
        //未完成部分线条颜色
        _slider.maximumTrackTintColor = [UIColor blackColor];
        //滑块颜色
        _slider.thumbTintColor = [UIColor grayColor];
        //添加事件
        [_slider addTarget:self action:@selector(valueChanged) forControlEvents:UIControlEventValueChanged];
        
    }
    return _slider;
}

//懒加载
- (UIImageView *)imageView{
    if (_imageView == nil) {
        self.imageView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 100, self.view.frame.size.width, 500)];
        _imageView.contentMode = UIViewContentModeScaleAspectFit;
        _imageView.image = [UIImage imageNamed:@"1"];
        _imageView.layer.masksToBounds = YES;
        _imageView.layer.borderWidth = 1;
        _imageView.alpha = 0.5;
    }
    
    return _imageView;
}

- (void)valueChanged{
    //滑动中随时改变透明度
    [self.imageView setAlpha:self.slider.value];
}


@end

 

posted @ 2019-05-02 19:24  iosMrLi  阅读(1148)  评论(0编辑  收藏  举报