我可以将进度添加到 UISlider 中吗?
这张图片显示了我想要的,我只是制作一个自定义电影播放控制器。
替代文本 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];
但这对我没有帮助。有什么想法吗?感谢您的任何建议!
This picture shows what i want , i just making a custom movieplay controller.
alt text http://www.imagechicken.com/uploads/1279252703012036800.png
I know how to make a custom uislider as code below
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];
but that can not help me .Is there any ideas? Thank you for any advices!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我认为只有当拇指不允许离开蓝色(已加载)区域时,您才能摆脱 UISlider 的束缚。然后,您可以将非活动(已卸载)轨道绘制到实际滑块边界的右侧,并在视频加载时更新滑块的边界,这会增加蓝色区域。但您仍然需要对滑块拇指的相对进度进行正确的数学计算。
如果您需要拇指滑入卸载区域,或者您想避免重新计算带来的麻烦,您应该构建自己的控件。不幸的是,UISlider 本身并不是一个高度可定制的控件。
I think you could get away with a UISlider only if the thumb was never allowed to leave the blue (loaded) area. Then you could draw the inactive (unloaded) track to the right of the actual slider bounds, and just update the bounds for the slider as the video loads, which would increase the blue area. But you'd still have to do the right math for the slider thumb's relative progress.
If you need the thumb to swipe into the unloaded area, or you want to avoid a headache with the recalculation, you should just build your own control. Unfortunately, the UISlider is not a highly customizable control by itself.
您应该能够在 UISlider 上子类化 drawRect 来自定义它,但我可能是错的。
You should be able to subclass drawRect on the UISlider to customize that, but I may be wrong.
重写drawRect:不是一个好主意。
您必须创建一个包含以下内容的自定义对象:
一个用于播放/暂停的 UIButton,一个用于滑块的 UISlider,一个用于静音开/关的 UIButtons,
和一个卷的UIView(你必须自己实现)
其实并不难,只是一个容器对象。
overriding drawRect: is not a good idea.
You will have to make a custom object containing something like:
an UIButton for the play/pause, an UISlider for the slider, an UIButtons for the mute on/off,
and a UIView for the volume (you will have to implement by your self)
Actually is not difficult, is just an container object.