Próbowałem wielu metod, aby zaimplementować zwykły UISlider
i kontrolować głośność urządzenia, ale wszystkie funkcje Native-C powodują wiele błędów niemożliwych do wykrycia.Jak dostosować MPVolumeView?
Próbowałem MPVolumeView
działa jak charm, a nawet kontroluje głośność urządzenia nawet po zamknięciu aplikacji, podobnie jak w przypadku aplikacji na iPoda.
Moje pytanie brzmi, czy jest tak, aby dostosować MPVolumeView
do określonych kolorów i obrazów, podobnie jak UISlider
?
UWAGA: Chcę korzystać z metody prawnej bez korzystania z prywatnych nieudokumentowanych interfejsów API.
UPDATE
Zgodnie @Alexsander Akers odpowiedź, ponieważ sub poglądy są ukryte w MPVolumeView
musiałem przechodzić subviews, uzyskać UISlider
i dostosować ją, oto kod.
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];
}
dobrze zrobione. Dobra robota aktualizująca twoje pytanie. –
Po prostu z ciekawości, czy zostało to zaakceptowane w App Store? – sooper
@sooper bardzo późno, przepraszam. Niestety, nie kontynuowałem tej aplikacji i nigdy nie przesłałem jej do App Store.Ale z własnego doświadczenia widziałem wiele samouczków modyfikujących oryginalne komponenty i zostały one zaakceptowane. – medopal