如何正确设置MPVolumeView的最大和最小图像

Amr*_*med 3 uislider ios mpvolumeview swift ios8

我试图设置MPVolumeView的最大和最小图像,但我无法让它工作

这是代码

VolumeView.setVolumeThumbImage(UIImage(named: "VolumeSlider"), forState: UIControlState.Normal)
VolumeView.setMinimumVolumeSliderImage(UIImage(named: "VolumeUp"), forState: UIControlState.Normal)
VolumeView.setMaximumVolumeSliderImage(UIImage(named: "VolumeDown"), forState: UIControlState.Normal)
Run Code Online (Sandbox Code Playgroud)

这是结果 以前有没有人遇到这个问题,任何帮助都会很棒吗?

squ*_*rog 9

你写的代码很好,但你误解了什么setMinimumVolumeSliderImagesetMaximumVolumeSliderImage实现.这些方法用于实际设置控件的轨迹图像.

您正在寻找的东西比得上minimumValueImagemaximumValueImageUISlider.不幸的是,MPVolumeView没有这样的方法.

唯一的解决方法是定位UIImageView卷视图的任一侧以显示图像.这样做的缺点是路由按钮会阻碍最大值图像,因此您必须设置showsRouteButton = NO;为阻止这种情况.

  • 它也引起了我的兴趣.命名不佳的方法 - 羞辱你Apple! (4认同)

Pat*_*cks 5

其实有一个非常简单的方法来做到这一点:

if let volumeSliderView = volumeView.subviews.first as? UISlider {
    volumeSliderView.minimumValueImage = #imageLiteral(resourceName: "icon_music_volume_min")
    volumeSliderView.maximumValueImage = #imageLiteral(resourceName: "icon_music_volume_max")
}
Run Code Online (Sandbox Code Playgroud)