如何更改MPVolumeView中滑块的tintcolor?

mur*_*rze 2 cocoa objective-c mpvolumeview

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

Per*_*les 15

分配后

volumeView = [[MPVolumeView alloc] initWithFrame:CGRectMake(40, 145, 270, 23)];
Run Code Online (Sandbox Code Playgroud)

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

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

把你喜欢的颜色放在UIColor中,然后全部完成.如果需要进一步自定义,请将volumeSlider视为标准UISlider.


Jus*_*Boo 5

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

[slider setMinimumTrackImage:[[UIImage imageNamed:@"redSlider.png"] stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0] forState:UIControlStateNormal];
Run Code Online (Sandbox Code Playgroud)

结果:

截图

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

滑块背景:

红色滑块bg

蓝色滑块bg

绿色滑块bg

例:

例

更多信息在这里.