我想知道最好的方法:
我已经将标记添加为UIViews
。例如:
let tick = UIView(frame: CGRect(x: xPos, y: (slider.frame.size.height - 10) / 2, width: 2, height: 10))
tick.backgroundColor = UIColor.init(white: 0.7, alpha: 1)
tick.layer.shadowColor = UIColor.white.cgColor
tick.layer.shadowOffset = CGSize(width: 0.0, height: 1.0)
tick.layer.shadowOpacity = 1.0
tick.layer.shadowRadius = 0.0
tick.tag = i
slider.insertSubview(tick, belowSubview: slider)
在这种情况下,添加了7个滴答。
控制这些子视图的颜色。我使用了标签,在滑块的值更改中,使用if-else
语句,我将颜色更改为minimumTrackTintColor
或maximumTrackTintColor
(绿色或灰色)。例如:
if sender.value == 0 {
slider.viewWithTag(1)?.backgroundColor = slider.maximumTrackTintColor
}else if sender.value <= 5{
slider.viewWithTag(1)?.backgroundColor = slider.minimumTrackTintColor
我真的不喜欢这样做...有更好的方法吗?