如何在滑块上添加点?

how to add points on slider bar?

我想创建滑块,将其分成 5 等份。我想在分隔线的部分放一个小圆圈!像下面的图片 我想做的另一件事是将拇指移到滑块上方 sho 当我的拇指移动时,它会停在主滑块上的点上。我怎样才能做到这一点?!

我做了什么:

我尝试使用一个带有圆圈且间距相等的堆栈视图,并将其放在滑块上,但之后,我的滑块将无法工作,因为堆栈具有更高的优先级!为了改变拇指的位置,我别无选择,尝试使用图像,在这张图像下方,是透明的 space!

我试了一下并找到了这个解决方案,即使它可能不是最优雅的解决方案。

对于您正在寻找的活泼行为,您可以为滑块定义一个 IBAction(在内部事件中触摸)。

在此操作中获取当前值,向上取整并将滑块设置为这个新值。

@IBAction func finishTouching(_ sender: UISlider) {
    let currentValue = slider.value
    let roundedValue = currentValue.rounded()
    slider.setValue(roundedValue, animated: true)
}

对于您尝试实现的设计的另一部分,您可能只是尝试在堆栈视图或图像上将启用的用户交互切换为关闭(false)。这将使您在下方滑动以再次响应触摸事件。

希望对您有所帮助。