我愿意做这个小工具:
可以选择A-B-C。
是否有人已经做过类似的事情?如果没有,你会怎么做?
答案 0 :(得分:3)
我个人使用标准的UISlider并为valueChanged处理程序添加逻辑,这样一旦用户将滑块拖动到刻度上的任意点,代码就会确定哪个是最接近的'有效'值,并且手动将值设置为有效数字。
E.g。如果用户将滑块拖动到0.9,则到有效点的距离为0.9(到A),0.4(到B)和0.1(到C)。因此代码将选择C,并将slider.value设置为1.0。如果您可以为该属性设置动画,则无法记住副手,但您可能可以。这对用户来说看起来更好。
对于视觉效果,我将创建一个容器类,它包含一个UISlider,并为每个有效值创建一个UILabel。沿着滑块下方的刻度根据它们的位置排列这些标签并不太难。通过适当的自动调整大小,无论您如何更改容器视图的形状,控件仍应看起来正确。
对于打磨,我可能还会调整“选定”标签的字体以加粗它或其他内容,以使该项目被选中显而易见。
答案 1 :(得分:1)
如果点击或拖动在滑块的A,B或C区域内结束,我会将UIGestureRecognizers添加到“滑块图像”并将“滑块按钮”设置为相应的位置。