让UISlider自己来回移动

时间:2014-02-18 00:25:06

标签: ios uislider

在我目前的项目中,我创建了一个应用程序,该应用程序利用UISlider的位置与显示给用户的目标值相关。我有完整的功能,但我现在正试图加强它。

当用户进入应用程序而不是让它们拖动时,是否可以将UISlider设置为自己(最小到最大)自行来回移动?

思想:

可能使用循环序列?

不寻找有人为我编码,我非常喜欢这一部分。只是寻找指导。

3 个答案:

答案 0 :(得分:0)

UISlider有this method,允许您以编程方式更改滑块的值:

- (void)setValue:(float)value animated:(BOOL)animated

小心使用循环,但是你不想阻止你的主线程让你的应用程序无响应。

Trumpetlick's answer提供了有关使用NSTimer的良好信息,这可以帮助您解决此问题。

答案 1 :(得分:0)

我认为在这种情况下,您必须设置一个NSTimer,其中包含您希望每帧的时间,将滑块内的操作代码分离为可由您调用的例程,然后在计时器操作代码中,调用您的例程,然后手动设置滑块位置。

在此处查看设置NSTimer

How do I use NSTimer?

NSTimer基本上允许您设置任何您想要的帧速率,并使其远离MAIN线程。

答案 2 :(得分:0)

除了NSTimer的回答,我不会建议使用它,而是使用CADisplayLink。类似的过程,但不是使用NSTimer使用CADisplayLink。

CADisplayLink与屏幕刷新率同步,因此您可以根据当前帧调整动画和滑块值,使动画显得平滑。

http://patzearfoss.com/2011/09/02/more-cadisplaylink/