我可以在UISlider中添加进度吗?

时间:2010-07-16 03:01:52

标签: iphone ipad iphone-sdk-3.2

这张照片展示了我想要的,我只是制作一个自定义的电影播放控制器。

alt text http://www.imagechicken.com/uploads/1279252703012036800.png

我知道如何将自定义uislider设为下面的代码

    playSlider.backgroundColor=[UIColor clearColor];
    [playSlider setThumbImage:[UIImage imageNamed:@"sliderButton.png"] forState:UIControlStateNormal];
    [playSlider setMaximumTrackImage:[UIImage imageNamed:@"sliderGray.png"] forState:UIControlStateNormal];
    [playSlider setMinimumTrackImage:[UIImage imageNamed:@"sliderBlue.png"] forState:UIControlStateNormal];

但这对我没有帮助。是否有任何想法?感谢您的任何建议!

3 个答案:

答案 0 :(得分:2)

我认为只有在拇指从未被允许离开蓝色(加载)区域时才能使用UISlider。然后,您可以将非活动(未加载)轨道绘制到实际滑块边界的右侧,并在视频加载时更新滑块的边界,这将增加蓝色区域。但是你仍然需要为滑块拇指的相对进度做正确的数学运算。

如果你需要用拇指滑入卸载区域,或者你想避免重新计算时头痛,你应该建立自己的控件。不幸的是,UISlider本身并不是一个高度可定制的控件。

答案 1 :(得分:0)

你应该能够在UISlider上继承drawRect来自定义它,但我可能错了。

答案 2 :(得分:0)

覆盖drawRect:不是个好主意。 您将必须创建一个包含以下内容的自定义对象: 用于播放/暂停的UIButton,用于滑块的UISlider,用于打开/关闭静音的UIButton, 和卷的UIView(你必须自己实现)

实际上并不难,只是一个容器对象。