1
我的iPhone应用程序从互联网播放流式音频,我有一个UISlider来擦洗已经下载的文件。UISlider变量最大值
此UISlider具有透明轨道,并且位于UIProgressView之上。
UIProgressView向用户显示流式音频下载进度。
一切工作正常,但我无法弄清楚如何限制擦除功能不超出已经下载的音频文件,由此UIProgressView代表。
欢迎任何建议。
我的iPhone应用程序从互联网播放流式音频,我有一个UISlider来擦洗已经下载的文件。UISlider变量最大值
此UISlider具有透明轨道,并且位于UIProgressView之上。
UIProgressView向用户显示流式音频下载进度。
一切工作正常,但我无法弄清楚如何限制擦除功能不超出已经下载的音频文件,由此UIProgressView代表。
欢迎任何建议。
您可以检查改变的值是否大于进度然后将其设置为进度。假设你正在处理UISlider
的UIControlEventValueChanged
事件在此方法中,
- (void)valueChanged:(UISlider *)sender {
if (self.slider.value > self.progressView.progress) {
[self.slider setValue:self.progressView.progress animated:YES];
}
}
或更改基于进度框。
非常感谢!你为我节省了很多时间,并且避免了我从沮丧中解脱出来。另一件事,也许你可以帮助我。有时当我尝试读取最新的音频数据包时,我会得到-1值,这会使滑块变为零值,从而停止正在播放的音频。我怎么总是备份最新的数据包(在C或Objective-C中),然后在它丢失时变为-1? – Winston 2011-06-15 13:57:15
取决于数据类型。我将声明该数据类型的一个实例变量,并将其更改为我收到的每个有效值。因此,当我需要它时,它会得到最新的数据包,因为在这种情况下,当我收到-1时。 – 2011-06-16 19:36:47