UISlider介紹
UISlider是一個進度條控件,通過滑動開控制數值的變化,一般使用在一些播放進度,數值調節等。這個控件在開發中的使用也不是很多,在一些金融系統和音視頻app中比較常用。
UISlider屬性
@property(nonatomic) float value; // default 0.0. this value will be pinned to min/max
@property(nonatomic) float minimumValue; // default 0.0. the current value may change if outside new min value
@property(nonatomic) float maximumValue; // default 1.0. the current value may change if outside new max value
@property(nonatomic,getter=isContinuous) BOOL continuous; // if set, value change events are generated any time the value changes due to dragging. default = YES
上面的4個屬性是UISlider的最常用屬性
1、value屬性設置進度默認值
2、minimumValue屬性設置進度最小值
3、maximumValue屬性設置進度最大值
4、continuous屬性設置響應機制,是否在鬆開手指才確定值。
//進度最小值
slider.minimumValue = 0.0;
//進度最大值
slider.maximumValue = 100.0;
//開始默認值
slider.value = 22.0;
//響應設置機制。當放開手,值才確定下來
slider.continuous = NO;
//設置背景色
slider.backgroundColor =[UIColor redColor];
@property(nullable, nonatomic,strong) UIImage *minimumValueImage; // default is nil. image that appears to left of control (e.g. speaker off)
@property(nullable, nonatomic,strong) UIImage *maximumValueImage; // default is nil. image that appears to right of control (e.g. speaker max)
minimumValueImage和maximumValueImage這兩個屬性是設置最小值和最大值對應的圖片,如下圖:
//設置最小值圖片
slider.minimumValueImage = [UIImage imageNamed:@"min.png"];
//設置最大值圖片
slider.maximumValueImage = [UIImage imageNamed:@"max.png"];
UISlider監聽事件
UISlider的交互響應監聽和按鈕的響應一樣,都是添加一個事件監聽,通過監聽方法控制。
//添加監聽事件
[slider addTarget:self action:@selector(sliderValueChanged:) forControlEvents:UIControlEventValueChanged];
在sliderValueChanged:方法中去實現想要的效果。
注意:在監聽事件中,監聽的是slider值的變化。