我在尝试用UISlider替换不可见的MPMoviePlayerController的应用程序上替换UIProgressView时遇到了困难。
UISlider只是创建的,更改非常直观,在MPMoviePlayerController的Update选择器上,我更新了其当前状态:

之前我从MPMoviePlayerController的内容定义了最小值和最大值:

-(void)UpdateTime:(NSTimer*)Timer
{

[self.sldProgress1 setValue:[[NSNumber numberWithDouble:playerSong.currentPlaybackTime] floatValue]];

}
UIProgressView没有提供类似的方法,而且我在网上没有找到与我要执行的操作相匹配的示例:
        sldProgress2.maximumValue = [playerSong playableDuration];
        sldProgress1.value = 0.0;

有什么建议么?

最佳答案

UIProgressView没有用户可设置的最大值的概念-仅为100.0。要使其按需运行,您必须做一些数学运算。幸运的是,这很简单:

CGFloat percentComplete = [playerSong.currentPlaybackTime floatValue] / [playerSong.playableDuration floatValue];

这将为您提供完整歌曲的百分比,您只需将UIProgressView更新为该数字即可。
progressView.progress = percentComplete;

或多或少-这段代码大部分是基于您的问题的伪代码,但这就是想法。

关于ios - 如何用播放MPMoviePlayerController的UIProgressView替换UISlider?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17396321/

10-12 21:35