我在尝试用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/