Ios MPVolumeView自定义问题

Ios MPVolumeView自定义问题,ios,ios7,mpvolumeview,Ios,Ios7,Mpvolumeview,我正在开发一个无线电应用程序,需要自定义音量跟踪器的颜色 myVolumeView = [[MPVolumeView alloc] initWithFrame: CGRectMake(26, 292, 268, 23)]; [self.view addSubview: myVolumeView]; for (id current in myVolumeView.subviews) { if ([current isKindOfClass:[UISlide

我正在开发一个无线电应用程序,需要自定义音量跟踪器的颜色

    myVolumeView = [[MPVolumeView alloc] initWithFrame: CGRectMake(26, 292, 268, 23)];

    [self.view addSubview: myVolumeView];
    for (id current in myVolumeView.subviews) {
        if ([current isKindOfClass:[UISlider class]]) {
            UISlider *volumeSlider = (UISlider *)current;
            volumeSlider.minimumTrackTintColor = [UIColor redColor];
            volumeSlider.maximumTrackTintColor = [UIColor lightGrayColor];
            //[volumeSlider setThumbImage:[UIImage imageNamed:@"volTrack.png"] forState:UIControlStateNormal];
        }
    }
如果我像这样运行代码,它会导致一个奇怪的错误:

但是如果我注释掉max track颜色,它可以工作,尽管没有自定义颜色

有什么补救办法吗?我正在运行7.1.1

让我们试试:

if ([current isKindOfClass:[UISlider class]]) {
     UISlider *volumeSlider = (UISlider *)current;
     volumeSlider.minimumTrackTintColor = [UIColor redColor];
     volumeSlider.maximumTrackTintColor = [UIColor lightGrayColor];
     [volumeSlider setThumbImage:[UIImage imageNamed:@"volTrack.png"] forState:UIControlStateNormal];

     // I think you should set these properties:
     [slider setMinimumTrackImage:[[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:filled ofType:@"png" inDirectory:@"MDAudioPlayer.bundle"]]stretchableImageWithLeftCapWidth:5 topCapHeight:3] forState:UIControlStateNormal];
     [slider setMaximumTrackImage:[[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:empty ofType:@"png" inDirectory:@"MDAudioPlayer.bundle"]] stretchableImageWithLeftCapWidth:5 topCapHeight:3] forState:UIControlStateNormal];
}

我在尝试自定义MPV音量控制时遇到了同样的问题。你能找到解决办法吗?非常感谢。结果是问了同样的问题,我发现下面的SO链接中的解决方案很有帮助: