如何更改MPVolumeView中滑块的tintcolor?

时间:2012-08-12 14:29:21

标签: objective-c cocoa mpvolumeview

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

2 个答案:

答案 0 :(得分: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。

答案 1 :(得分:5)

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

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

<强>结果:

Screenshot

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

滑块背景:

Red slider bg

Blue slider bg

Green slider bg

示例:

Example

更多信息here