我在我的ViewController滑塊不起作用:斯威夫特更改UISlider圖像和色彩如預期
@IBOutlet weak var timeSlider: UISlider!
當使用代碼:
timeSlider.setMinimumTrackImage(#imageLiteral(resourceName: "track"), for: .normal)
timeSlider.setMaximumTrackImage(#imageLiteral(resourceName: "track"), for: .normal)
timeSlider.setThumbImage(#imageLiteral(resourceName: "thumb2"), for: .normal)
我的滑塊看起來是這樣的:
它很好用,並且表現得像人們預期的那樣行爲
現在,我想使部分之前拇指有不同的顏色和部分後,也有不同的顏色,所以我創建了創建從我用我的視角圖像的新圖像作爲模板(模板是一個數組)功能:
func setTemplates(){
templates.removeAll()
for i in 0 ..< 10{
templates.append(playImg[i].withRenderingMode(.alwaysTemplate))
}
}
模板[5]是相同的圖像作爲 「的Thumb2」
模板[6] = 「音軌」
,然後我想分配模板[6](其中,圖像「track」轉換爲模板)並以與我相同的方式着色與視圖中的其他圖像如按鈕,或以顏色標籤等這樣的:
timeSlider.setMinimumTrackImage(templates[6], for: .normal)
timeSlider.setMaximumTrackImage(templates[6], for: .normal)
timeSlider.setThumbImage(templates[5], for: .normal)
timeSlider.minimumTrackTintColor = colors.primaryColor
timeSlider.maximumTrackTintColor = colors.detailColor
timeSlider.thumbTintColor = colors.secondaryColor
其中顏色是保持四種不同顏色的一個結構。但是你可以看到正確
圖像拇指被設置爲默認的它不工作,它甚至不檢點,因爲我不能拇指移動到0.0位置滑塊後,我移動,或顏色改變,拇指後的部分得到藍色是默認滑塊。
我嘗試不同的方法來對抗這個問題,但是這是我這得到了正常工作最接近的一次。在這一點上,我開始認爲這是一個錯誤,但也許我在我的代碼中犯了一些錯誤。正如我說我有按鈕,標籤,這是我的顏色我的方式嘗試在這裏
button.setImage(templates[7], forState: .normal)
button.tintColor = colors.primaryColor
相同的,它的工作原理 我在做什麼錯?
這並不能真正解決我的問題,因爲色調與屏幕上顯示的圖像動態匹配 – Adam
如果您想要更改自定義滑塊圖像的色調,則需要爲圖像着色,然後更新滑塊自定義圖像。沒有辦法設置自定義圖像和滑塊的色調。 – rmaddy