1、value
--這個值是介於滑塊的最大值和最小值之間的,如果沒有設置邊界值,默認爲0-1;
2、minimumValue
--設置滑塊最小邊界值(默認爲0)
3、maximumValue
--設置滑塊最大邊界值(默認爲1)
4、minimumValueImage
--設置滑塊最左端顯示的圖片
5、maximumValueImage
--設置滑塊最右端顯示的圖片
6、continuous(Bool)
--設置滑塊是否連續變化(默認爲YES)
7、minimumTrackTintColor
--設置滑塊左邊(小於部分)線條的顏色
8、maximumTrackTintColor
--設置滑塊右邊(大於部分)線條的顏色
9、thumbTintColor
--設置滑塊顏色(影響已劃過一端的顏色),注意這個屬性:如果你沒有設置滑塊的圖片,那個這個屬性將只會改變已劃過一段線條的顏色,不會改變滑塊的顏色,如果你設置了滑塊的圖片,又設置了這個屬性,那麼滑塊的圖片將不顯示,滑塊的顏色會改變。
@method
手動設置滑塊的值:
- (void)setValue:(float)value animated:(BOOL)animated;
設置滑塊的圖片:
- (void)setThumbImage:(UIImage *)image forState:(UIControlState)state;
設置滑塊劃過部分的線條圖案
- (void)setMinimumTrackImage:(UIImage *)image forState:(UIControlState)state;
設置滑塊未劃過部分的線條圖案
- (void)setMaximumTrackImage:(UIImage *)image forState:(UIControlState)state;
對應的幾個get方法
- (UIImage *)thumbImageForState:(UIControlState)state;
- (UIImage *)minimumTrackImageForState:(UIControlState)state;
- (UIImage *)maximumTrackImageForState:(UIControlState)state;
@extension
在用到UISlider時發現無法通過改變frame來改變高度,這時看到類中有一個方法
// lets a subclass lay out the track and thumb as needed
- (CGRect)minimumValueImageRectForBounds:(CGRect)bounds;
- (CGRect)maximumValueImageRectForBounds:(CGRect)bounds;
- (CGRect)<span style="color:#ff0000;">trackRectForBounds</span>:(CGRect)bounds;
這個方法直接調用是無效的,於是重寫一個繼承UISlider的類UISliderCustomH,在子類中重寫
@implementation UISliderCustomH
- (CGRect)trackRectForBounds:(CGRect)bounds
{
return CGRectMake(0, 0, SCREEN_WIDTH - 120, 10);
}
@end
[self.shtterSlider setThumbImage:[UIImage imageNamed:@"control_bar_seek_btn"] forState:0];
self.shtterSlider.minimumTrackTintColor = UniColor(252, 174, 13);
self.shtterSlider.maximumTrackTintColor = [UIColor lightGrayColor];