5

如何设置 MPVolumeView 的色调颜色?

我看到了方法:

setMinimumTrackTintColor: 

和财产

minimumTrackTintColor

但是使用其中任何一个都会引发异常。

我被告知我需要打电话

setMinimumTintColor 

或设置属性

minimumTrackTintColor 

在底层的 UISlider 上,但是我不知道该怎么做。

谢谢!

4

3 回答 3

7

在 iOS 7 中,您只需MPVolumeView像这样更改滑块颜色:

CGRect rect1 = CGRectMake(17, 45, 220, 0);
MPVolumeView *volumeView = [[MPVolumeView alloc] initWithFrame:rect1];

volumeView.tintColor = [UIColor colorWithRed:0.0f/255.0f green:255.0f/255.0f blue:127.0f/255.0f alpha:1.0f];

希望这可以帮助。

于 2014-05-10T06:23:58.330 回答
2

我已经搜索了很长时间的答案,因为在我的应用程序中我需要动态设置 volumeView 颜色。由于 UISlider 提供了一种更改其 tint 颜色的方法,因此您可以在 MPVolumeView 子视图中循环,直到找到 UISlider 类的实例,然后对其进行操作。

以下是 Swift 中的代码:

func customSlider() {
        let temp = mpVolView.subviews
        for current in temp {
            if current.isKind(of: UISlider.self) {
                let tempSlider = current as! UISlider
                tempSlider.minimumTrackTintColor = .yellow
                tempSlider.maximumTrackTintColor = .blue
            }
        }
    }

结果:

在此处输入图像描述

于 2017-11-21T15:48:36.293 回答
1

这对我来说也可以更改路线按钮的颜色:

volumeView.tintColor = .green
if let routeButton = volumeView.subviews.compactMap({ $0 as? UIButton }).first,
    let image = routeButton.image(for: .normal) {
    routeButton.setImage(image.withRenderingMode(.alwaysTemplate), for: [])
}
于 2020-04-22T21:54:20.690 回答