2010-05-08 6 views
9

Ich möchte, dass der Benutzer in der Lage ist, die Systemlautstärke mit einem Schieberegler zu ändern, und mir wurde klar, dass der einzige Weg dazu mit einem MPVolumeView ist.Wie implementieren Sie ein MPVolumeView?

Aber ich kann keinen Beispielcode dafür finden, und jede Methode, die ich versuche zu implementieren, wird nicht angezeigt.

Was ist also der einfachste und korrekteste Weg zur Implementierung eines MPVolumeView?

+1

Sie es einfach hinzuzufügen, ist als ein Subview von einigen Bildschirmansicht? Sollte die Arbeit machen, nehme ich an. – Joost

+0

Ja, aber wie mache ich es - legen Sie es? – Emil

Antwort

9

Platzieren Sie es als normalen Schieberegler, und verwenden Sie dann den Inspektor, um die Klasse auf MPVolumeView festzulegen. Es wird immer noch als regulärer Slider in IB angezeigt, aber zur Laufzeit wird es eine Instanz von MPVolumeView sein und die notwendigen Stile und Verhaltensweisen haben.

+0

IB wird die Klasse des Schiebers nicht ändern .. – Emil

+14

Faszinierend. Es scheint, dass es nicht länger als Unterklasse "UISlider" erkannt wird. Als Workaround können Sie eine generische 'UIView' erstellen und sie auf eine Größe von 20px (für das iPhone mindestens) einstellen und dann die Klasse auf' MPVolumeView' setzen. Achten Sie darauf, den Hintergrund auf eine transparente Farbe einzustellen. Beachten Sie, dass die Klasse im Simulator nicht funktioniert. – warrenm

+0

Danke, es funktioniert jetzt, ich brauche nur Hilfe, es in eine UIAlertView jetzt zu setzen. Http://stackoverflow.com/questions/2829234/mpvolumeview-in-a-uialertview – Emil

3

verwenden es wird automatisch erhalten

mpVolumeViewParentView.backgroundColor = [UIColor clearColor]; 
MPVolumeView *myVolumeView = [[MPVolumeView alloc] initWithFrame: mpVolumeViewParentView.bounds]; 
[mpVolumeViewParentView addSubview: myVolumeView]; 
[myVolumeView release]; 
+0

Ich sehe nicht viel Hilfe beim Kopieren des Codes aus apples Dokumentation, wenn jemand nach einem Beispiel fragt ... https://developer.apple.com/library/ios/documentation/MediaPlayer/Reference/MPVolumeView_Class/Reference/ Referenz.html # // apple_ref/occ/instp/MPVolumeView/showVolumeSlider – AlvaroSantisteban

+2

Es ist sehr hilfreich, da Sie keine Links aber Lösungen veröffentlichen sollten. Dieser Code wird in zehn Jahren (vielleicht) noch hier sein, der Link könnte nächste Woche ungültig sein. – gnasher729