UISlider是系統提供的滑塊, 叫它滑動選擇器吧, 繼承自UIControl
, 因此能夠響應事件的.ide
問題1:code
系統提供給咱們的, 能夠自定義左邊和滑塊左邊和右邊的內容顏色, 以下所示, 問題是 定義好本身須要的顏色和響應的寬度高度, 滑動條的高度仍是不變的, 仍是系統默認的樣子, 以下:繼承
解決1:事件
解決也很簡單, 建立一個新類, 集成自UISlider, 重寫trackRectForBounds:
方法, 在此方法中返回你想要的正確的高度, 這個高度將會做爲進度條填充區域高度. 由此猜想, UISlider類中, 經過此方法返回進度條的高度, 在此方法中, UISlider進行了控制, 咱們能夠經過重寫此方法本身計算高度來控制滑動進度條的高度.圖片
- (CGRect)trackRectForBounds:(CGRect)bounds { // for(UIView *view in [self subviews]) { // view.clipsToBounds = YES; // } bounds.size.height = 15; return bounds; }
如圖:ip
問題2:cli
剛開始我是想用背景圖片解決的, 可是後來發現, 使用背景圖片, 可是老是出問題, 什麼都調好了, 可是在滑塊滑動時候, 背景圖片會跟着縮放, 經過重寫trackRectForBounds:
方法解決了背景圖片跟着縮放的問題, 可是, maxmumImage, 位置仍是出現了問題,,,,, 最終放棄了使用圖片, 而使用自定義的背景顏色.方法
若是誰有遇到相似的問題, 請指教一下該怎麼解決. Thanks !im