带刻度线的UISlider(彩色像轨道)

时间:2017-03-20 08:34:23

标签: ios swift uislider

我想知道最好的方法:

UISlider with ticks (colored)

我已经将标记添加为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语句,我将颜色更改为minimumTrackTintColormaximumTrackTintColor(绿色或灰色)。例如:

 if sender.value == 0 {
        slider.viewWithTag(1)?.backgroundColor = slider.maximumTrackTintColor
    }else if sender.value <= 5{
        slider.viewWithTag(1)?.backgroundColor = slider.minimumTrackTintColor

我真的不喜欢这样做...有更好的方法吗?

0 个答案:

没有答案