MPVolumeView 的滑块 setVolumeThumbImage:forState: 在 iOS5 上不起作用

Posted

技术标签:

【中文标题】MPVolumeView 的滑块 setVolumeThumbImage:forState: 在 iOS5 上不起作用【英文标题】:MPVolumeView's slider setVolumeThumbImage:forState: not working on iOS5 【发布时间】:2013-09-03 09:58:52 【问题描述】:

o我使用 MPVolumeView 来显示音量滑块。我用

自定义了它
        [myVolumeView setVolumeThumbImage:[UIImage imageNamed:@"sound_slider_knob.png"] forState:UIControlStateNormal];
        [myVolumeView setVolumeThumbImage:[UIImage imageNamed:@"sound_slider_knob.png"] forState:UIControlStateHighlighted];
        [myVolumeView setMaximumVolumeSliderImage:[UIImage imageNamed:@"slider_player_bg.png"] forState:UIControlStateNormal];
        [myVolumeView setMinimumVolumeSliderImage:[UIImage imageNamed:@"slider_player_fg.png"] forState:UIControlStateNormal];

ios6 上一切正常,但在 iOS5 上,我收到以下错误消息:

-[MPVolumeView setVolumeThumbImage:forState:]: unrecognized selector sent to instance 0x8c29f30
-[UIDevice identifierForVendor]: unrecognized selector sent to instance 0x8909b30

事实上,在 MPVolumeView.h 中有

- (void)setVolumeThumbImage:(UIImage *)image forState:(UIControlState)state NS_AVAILABLE_IOS(6_0);

有什么方法可以在 iOS 5 中自定义 MPVolumeView 吗?

【问题讨论】:

Apple 仅在 iOS 6 中提供 MPVolumeView 自定义。在 iOS 5 中您不能使用上述方法 【参考方案1】:

在 iOS 5 和更早版本中,您必须在 MPVolumeView 的子视图中搜索 UISlider 并自定义滑块。

【讨论】:

以上是关于MPVolumeView 的滑块 setVolumeThumbImage:forState: 在 iOS5 上不起作用的主要内容,如果未能解决你的问题,请参考以下文章

匹配 UIToolBar 中的 MPVolumeView 和 UISlider 垂直位置

带有 XCode 4 的 MPVolumeView(故事板)

MPVolumeView 滑块无响应

将 MPVolumeView 滑块拇指位置设置为设备音量

如何在 iOS 中自定义 MPVolumeView?

基于文本的滑块,下一个上一个带有连续水平滑块