具有可变擦洗速度的UISlider(如iPod应用程序)

时间:2011-01-02 17:40:29

标签: iphone uislider

Apple的iPod(音乐)应用程序有一个滑块(UISlider,我推测),具有可变的擦洗速度:离垂直拖动的滑块越远,水平拖动速度的比例越小,反映在值的变化中滑块。有没有人想出如何复制这种行为?

2 个答案:

答案 0 :(得分:31)

很好的问题激励我找到解决方案。我创建了一个名为OBSlider的类,它支持可变的擦洗速度。

简而言之:子类UISlider,覆盖-continueTrackingWithTouch:withEvent:并根据触摸的移动自己计算self.value的变化。因此,您可以自由地影响您想要乘以触摸移动的因子以获得新的滑块值。

详情请阅读我的博文: OBSlider, a UISlider subclass with variable scrubbing speed

答案 1 :(得分:4)

好工作Ole! 我做了一些小修改,以便在将手指滑向UISlider时更加类似于iPod app滑块的工作方式! 基本上我处理一个变量来跟踪与手指位置相对应的值,如果用户越来越接近,我会应用不同的公式(这不是完美的,可以进行很多改进)。

我的叉子在这里可用:http://github.com/sylverb/OBSlider

相关问题