如何设置MPVolumeView的色调颜色?
我发现有以下方法:
setMinimumTrackTintColor:
以及属性
minimumTrackTintColor
然而,使用其中任何一个都会抛出异常。
有人告诉我需要调用
setMinimumTintColor
或设置该属性。
minimumTrackTintColor
我想在底层的UISlider上进行操作,但是我不知道如何实现。
谢谢!
如何设置MPVolumeView的色调颜色?
我发现有以下方法:
setMinimumTrackTintColor:
以及属性
minimumTrackTintColor
然而,使用其中任何一个都会抛出异常。
有人告诉我需要调用
setMinimumTintColor
minimumTrackTintColor
我想在底层的UISlider上进行操作,但是我不知道如何实现。
谢谢!
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];
我已经寻找了很长时间的答案,因为在我的应用程序中,我需要动态设置volumeView颜色。由于UISlider提供了一种改变其色调颜色的方法,因此您可以循环遍历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
}
}
}
结果:
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: [])
}