滑动控件UISlider

UISlider跟UISwitch有点儿类似,都是继承自UIControl

既然UISlider是表示一个CGRange,那么就有一个最大值(maximumValue)和一个最小值(minimumValue),既然UISlider又是一个选择器,那么就有一个当前的选择值(value),这三个值都是UISlider的属性。

同样的,UISlider选择器被改变时,会触发UIControlEventValueChanged的事件,所以我们可以通过添加addTarget:::方法为事件添加处理方法。

#import "ViewController.h"

@interface ViewController ()

//滑动控件

@property(nonatomic,strong)UISlider *slider;

//标签控件

@property (nonatomic, strong)UILabel * myLabel;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    //将滑动控件添加到视图上
    
    [self.view addSubview:self.slider];
    
    //将标签添加到视图上
    
    [self.view addSubview:self.myLabel];
    
    _slider.frame=CGRectMake((self.view.frame.size.width-300)/2,(self.view.frame.size.width)/2, 300, 50);
    
    //minimunmValue 当值可以改变时,滑动为最小。默认为0.0
    
    _slider.minimumValue=0.0;
    
    //maximumValue 当值可以改变时,滑动为最大。默认为1.0
    
    _slider.maximumValue=100;
    
    //当前值为多少
    
    _slider.value=20;
    
    //设置为yes,在拖动滑块的时候,滑动的值会改变。默认值为yes
    
    [_slider setContinuous:YES];
    
    //设置最小处的图片。 默认为空
    
    _slider.minimumValueImage=[UIImage imageNamed:@""];
    
    //设置最大处的图片。 默认为空
    
    _slider.maximumValueImage=[UIImage imageNamed:@""];
    
    //小于当前滑动的颜色
    
    _slider.minimumTrackTintColor=[UIColor blueColor];
    
    //大于当前滑动的颜色
    
    _slider.maximumTrackTintColor=[UIColor redColor];
    
    //当前滑动值的颜色
    
    _slider.thumbTintColor=[UIColor blueColor];
    
    //添加事件
    
    [_slider addTarget:self action:@selector(sliderbutton:) forControlEvents:UIControlEventValueChanged];
    
    //对label位置
    
    _myLabel.frame=CGRectMake((self.view.frame.size.width-100)/2, (self.view.frame.size.height)/2, 100, 60);
    
    //字体
    
    _myLabel.font=[UIFont systemFontOfSize:_slider.value];
    
    //内容
    
    _myLabel.text=@"你好";
    
    
    /*
     
     currentMaximumTrackImage :滑块条最大值处设置的图片
     currentMinimumTrackImage : 滑块条最小值处设置的图片
     currentThumbImage: 当前滑块的图片
     
     */
    
    
}


//初始化滑动控件
- (UISlider *)slider{
    
    if (_slider==nil) {
        
        _slider=[[UISlider alloc]init];
        
    }
    
    return _slider;
    
}

//初始化标签
- (UILabel *)myLabel{
    
    if (_myLabel==nil) {
        
        _myLabel=[[UILabel alloc]init];
        
    }
    
    return _myLabel;
    
}

//slider的事件
-(void)sliderbutton:(id)sender{
    
    //确定一个对象是否是一个类的成员,或者是派生自该类的成员
    if ([sender isKindOfClass:[UISlider class]]) {
        
        //强制转化
        
        UISlider *slider=(UISlider*)sender;
        
        //字体大小
        _myLabel.font=[UIFont systemFontOfSize:slider.value];
        
    }
    
}

你可能感兴趣的:(滑动控件UISlider)