Я перепробовал много методов для реализации обычного UISlider
и управления громкостью устройства, но это все функции Native-C, которые приводят ко многим не отслеживаемым ошибкам.
Я попробовал MPVolumeView
, он работает как шарм, он даже контролирует громкость устройства даже после закрытия приложения, как приложение iPod.
Мой вопрос, есть ли в любом случаенастройте MPVolumeView
с определенными цветами и изображениями, как UISlider
?
ПРИМЕЧАНИЕ. Я хочу легальный метод без использования частных недокументированных API.
ОБНОВЛЕНИЕ
В соответствии с ответом @Alexsander Akers, поскольку подпредставления скрыты в MPVolumeView
Мне пришлось циклически перебирать подпредставления, получать UISlider
и настраивать его, вот код.
IBOutlet UISlider *volumeSlider; //defined in <class.h> and connected to a UISlider in Interface Builder
-(void) viewDidLoad {
....
[self setCustomSlider];
....
}
-(void) setCustomSlider{
MPVolumeView *volumeView = [[[MPVolumeView alloc] initWithFrame:[volumeSlider frame]] autorelease];
NSArray *tempArray = volumeView.subviews;
for (id current in tempArray){
if ([current isKindOfClass:[UISlider class]]){
UISlider *tempSlider = (UISlider *) current;
UIImage *img = [UIImage imageNamed:@"trackImage.png"];
img = [img stretchableImageWithLeftCapWidth:5.0 topCapHeight:0];
[tempSlider setMinimumTrackImage:img forState:UIControlStateNormal];
[tempSlider setThumbImage:[UIImage imageNamed:@"thumbImage.png"] forState:UIControlStateNormal];
}
}
[volumeSlider removeFromSuperview];
[self.view addSubview:volumeView];
}