So passen Sie MPVolumeView?
Ich habe versucht, viele Methoden zu implementieren, die eine regelmäßige UISlider
und die Steuerung des Gerätes Volumen, aber es ist alles Native-C-Funktionen, die Ergebnisse in vielen unauffindbar bugs.
Ich habe versucht, die MPVolumeView
es funktioniert wie ein Charme, es selbst steuert das Gerät die Lautstärke auch nach dem schließen der app, genau wie die iPod-app.
Meine Frage ist, ist es eh zum anpassen der MPVolumeView
mit bestimmten Farben und Bilder, wie UISlider
?
HINWEIS: ich will eine gesetzliche Methode, die ohne Verwendung von privaten undokumentierten APIs.
UPDATE
Als pro @Alexsander Akers Antwort, da die sub-views sind versteckt in MPVolumeView
ich hatte zu Durchlaufen, Untersichten, Holen Sie sich die UISlider
und es anpassen, hier ist der code.
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];
}
- Gut gemacht. Schöne Aufgabe, die Aktualisierung Ihrer Frage.
- Nur aus Neugier, wurde dies akzeptiert, die im App Store?
- sehr verspätete Antwort, sorry. Leider hatte ich nicht mehr weiter diese app und nie reichte es zum App Store. Aber aus persönlicher Erfahrung, ich habe viele tutorials gesehen, eine änderung der ursprünglichen Bestandteile zerlegt und Sie wurden akzeptiert.
- Beachten Sie, dass in iOS 6 gibt es integrierte Methoden für die Anpassung der MPVolumeView-Schieberegler, ähnlich den Methoden für das UISlider
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnten Sie versuchen, mit dem Fahrrad durch seine Untersichten und suchen für einen UISlider Unterklasse?
Seit iOS 5.0 können Sie UIAppearance auf eine UISlider, selbst wenn ein Teil der MPVolumeView.
Überall in Ihrem codebase:
Hier eine Liste von einigen der anderen Klassen, die implementiert werden können unter Verwendung UIAppearance:
https://gist.github.com/mattt/5135521
Gibt es jetzt Möglichkeiten, dies zu erreichen, verwenden Sie einfach:
Die etwas andere Methode, Namen als die, für die Vanille
UISlider
.Hierdurch wird verhindert, dass der Zyklus durch die Ansichten und die eventuell etwas Pause, in der Zukunft als Apple ändert die Dinge.
Antwort Swift:
Ergebnis:
Versuchen Sie es mit einem Benachrichtigung, aber es sieht aus wie Apple ist Sie zu leugnen.
[BEARBEITEN]
Versuchen Sie, diese.