iOS 複習筆記 UISlider基礎篇(一)

@porperty

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];







發佈了40 篇原創文章 · 獲贊 20 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章