Skip to content

Commit c066cb0

Browse files
committed
Improve appearance of slider when disabled
1 parent 1417a12 commit c066cb0

File tree

1 file changed

+17
-2
lines changed

1 file changed

+17
-2
lines changed

TactileSlider/Classes/TactileSliderLayerRenderer.swift

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,23 @@ internal class TactileSliderLayerRenderer {
1919

2020
var thumbTint: UIColor = .white {
2121
didSet {
22-
thumbLayer.fillColor = thumbTint.cgColor
22+
thumbLayer.fillColor = grayedOut ? disabledThumbTint.cgColor : thumbTint.cgColor
2323
}
2424
}
2525

26+
private var disabledThumbTint: UIColor {
27+
// get HSV from normal tint color
28+
var tintHue: CGFloat = 0
29+
var tintSaturation: CGFloat = 0
30+
var tintBrightness: CGFloat = 0
31+
var tintAlpha: CGFloat = 0
32+
guard thumbTint.getHue(&tintHue, saturation: &tintSaturation, brightness: &tintBrightness, alpha: &tintAlpha) else {
33+
return UIColor.gray
34+
}
35+
36+
return UIColor(hue: tintHue, saturation: tintSaturation/10, brightness: tintBrightness*0.8, alpha: tintAlpha*0.6)
37+
}
38+
2639
var cornerRadius: CGFloat = 10 {
2740
didSet {
2841
updateMaskLayerPath()
@@ -77,8 +90,10 @@ internal class TactileSliderLayerRenderer {
7790
}
7891

7992
private func updateGrayedOut() {
80-
let alpha: Float = grayedOut ? 0.25 : 1
93+
let alpha: Float = grayedOut ? 0.6 : 1
8194
trackLayer.opacity = alpha
95+
96+
thumbLayer.fillColor = grayedOut ? disabledThumbTint.cgColor : thumbTint.cgColor
8297
}
8398

8499
private func updatePopUp() {

0 commit comments

Comments
 (0)