拖动条是通过滑块的位置来标识数值,而且拖动条允许用户拖动滑块来改变值。因此,拖动条通常用于对系统的某种数值进行调节,如调节亮度,透明度,音量等。
一、属性介绍
@property(nonatomic)floatvalue;//设置当前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:selfaction:@selector(change)forControlEvents:UIControlEventValueChanged];
二、示例代码
创建所需的控件属性
@property(strong,nonatomic)UISlider*mySlider;
@property(strong,nonatomic)UIImageView*myImageView;
使用懒加载方式初始化所需控件
-(UISlider*)mySlider{
if(!_mySlider){
_mySlider=[[UISlideralloc]initWithFrame:CGRectMake(0,300,375,10)];
_mySlider.value=0.5;//设置当前滑块处于滑动条中间
_mySlider.continuous=NO;//不连续触发事件
_mySlider.minimumTrackTintColor=[UIColorredColor];//设置完成部分的轨道颜色为红色
_mySlider.maximumTrackTintColor=[UIColorblueColor];//设置未完成部分的轨道颜色为蓝色
_mySlider.thumbTintColor=[UIColorgrayColor];//设置滑块颜色为灰色
[_mySlider addTarget:selfaction:@selector(change)forControlEvents:UIControlEventValueChanged];//绑定ValueChange方法
[self.view addSubview:_mySlider];
}
return_mySlider;
}
-(UIImageView*)myImageView{
if(!_myImageView){
_myImageView=[[UIImageViewalloc]initWithFrame:CGRectMake(0,0,375,300)];
_myImageView.image=[UIImageimageNamed:@"1"];
_myImageView.alpha=.5;//设置图片刚开始透明度为0.5与滑块对应的value保持一致
[self.view addSubview:_myImageView];
}
return_myImageView;
}
-(void)viewDidLoad{
[superviewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
[selfmyImageView];
[selfmySlider];
}
在UISlider的Value Changed事件绑定的方法中修改图片的透明度
-(void)change{
[self.myImageView setAlpha:self.mySlider.value];