2

如何更改 MPVolumeView 中滑块的 tintcolor?我想显示不同的颜色而不是蓝色。

4

2 回答 2

15

分配后

volumeView = [[MPVolumeView alloc] initWithFrame:CGRectMake(40, 145, 270, 23)];

只需搜索 MPVolumeView 子视图并获取滑块

for (id current in volumeView.subviews) {
        if ([current isKindOfClass:[UISlider class]]) {
            UISlider *volumeSlider = (UISlider *)current;   
            volumeSlider.minimumTrackTintColor = [UIColor redColor];
            volumeSlider.maximumTrackTintColor = [UIColor lightGrayColor];
}

把你喜欢的颜色放在 UIColor 中就完成了。如果您需要进一步自定义,请将 volumeSlider 视为标准 UISlider。

于 2013-04-13T09:22:48.443 回答
5

您需要自定义UISlider. 你可以这样做:

[slider setMinimumTrackImage:[[UIImage imageNamed:@"redSlider.png"] stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0] forState:UIControlStateNormal];

结果:

截屏

以下是滑块的一些背景和它们的外观示例图像:

滑块背景:

红色滑块 bg

蓝色滑块 bg

绿色滑块 bg

例子:

例子

更多信息在这里

于 2012-08-12T17:34:54.547 回答