iOS移动UISlider拇指来跟踪电影的进度

时间:2015-09-26 10:22:36

标签: ios slider uislider

我正在实施一个视频播放器,我已经使用UISlider来跟踪电影的进度。这意味着当电影结束时滑块的拇指应该处于最大值。

我无法实现这一目标。电影在拇指到达之前完成。有人可以帮我理解可能出现的问题吗?

这是我写的代码:

//I'm setting the min, max values of the UISlider and calculating the current value
progressBar.minimumValue = 0.0;
progressBar.maximumValue = (float)movie.duration;
progressBar.value = ((float)movie.currentPlaybackTime/(float)movie.duration) * progressBar.frame.size.width;

3 个答案:

答案 0 :(得分:0)

不应该只是:progressBar.value =(float)movie.currentPlaybackTime?

我的意思是,假设电影持续时间是60秒,电影是15秒(这是当前播放时间,我猜)

这样:

进度条最小值为0

进度条最大值为60

进度条值应介于0到60之间,这是电影现在的值:15。

编辑: 你还应该使用: - setValue:animated:

另一个想法:也许你不在主线上。进行ui更改时,请确保您在主线程上

答案 1 :(得分:0)

只需使用progressBar.value = (float)movie.currentPlaybackTime;代替progressBar.value = ((float)movie.currentPlaybackTime/(float)movie.duration) * progressBar.frame.size.width;

答案 2 :(得分:0)

最大值应等于帧宽:

progressBar.minimumValue = 0.0;
progressBar.maximumValue = progressBar.frame.size.width;
progressBar.value = ((float)movie.currentPlaybackTime/(float)movie.duration) * progressBar.frame.size.width;