2017-03-31 90 views
0

我試圖做一個使用圖像的自定義uislider(沒有可見的旋鈕,當用戶不能編輯時顯示它,當我可以隱藏它時)隱藏它問題是邊渲染完美,但右邊的部分是可愛的,似乎並不使用邊緣... 任何想法如何編輯它?使用UIEdgedInset的自定義UISlider不能很好地呈現

實際代碼:

let capLeft:CGFloat = 9 
    let capRight:CGFloat = 9 
    imageMin = imageMinimum?.resizableImage(withCapInsets: UIEdgeInsets(top: 0, left: capLeft, bottom: 0, right: capRight), resizingMode: .stretch) 
    imageMax = imageMaximum 
    slider.setMaximumTrackImage(imageMax, for: UIControlState()) 
    slider.setMinimumTrackImage(imageMin, for: UIControlState()) 

它是如何渲染: bad slider rendering

那應該怎麼渲染: good Rendering

最小的路徑圖像: enter image description here

最高追蹤圖片:enter image description here

你有什麼想法嗎?

+0

請不要關心顏色,這是重要的形狀 –

+0

嗯......你有一個拇指圖像?而且,如果滑塊值設置爲100%,全長圖像是否正確? – DonMag

+0

100%看起來不太好。 而且我用了一個巨大的拇指封面很多,所以我不能真正用它來隱藏) –

回答

0

我認爲對於最小和最大圖像與UISlider有點混淆。

最小圖像在拇指的左側繪製(拉伸)。最大圖像被繪製(拉伸)在拇指的右側。

創建一個小的方形固體紅色圖像 - 如16x16 - 並將它(不帶插頁)分配到.setMaximumTrackImage。當你從低到高的價值觀時,看看結果如何。

編輯:我沒有使用插圖閩圖像上這個例子...

enter image description here enter image description here

注:我用了一個20×20清晰的圖像,在這些蓋了大拇指。

+0

這是其中之一bleh我正在繞,我會分離黑色的灰色,但這並不能解釋爲什麼邊緣被「切割」 –