Wie kann ich den Stil von UIBarButtonItem im Code ändern?

8

Ich benutze UIBarButtonSystemItemPlay, um meine Audiodatei abzuspielen, und ich möchte den Stil dynamisch ändern, wenn ich darauf klicke. Ist das möglich? Wenn ja, dann hilf mir bitte. Dies ist mein Code, wobei _playPause IBOutlet von UIBarButtonSystemItemPlay ist. Vielen Dank im Voraus.

%Vor%     
Khalid Usman 05.01.2012, 08:52
quelle

4 Antworten

5

UIBarButtonSystemItemPlay oder UIBarButtonSystemItemPause kann nicht von der style -Eigenschaft abgerufen werden. Der Stil ist vom Typ UIBarButtonItemStyle .

Überprüfen Sie die Dokumentation hier .

>

Ich schlage vor, zwei verschiedene UIBarButtonItem zu erstellen und sie dann abwechselnd zu aktivieren oder zu deaktivieren (zum Beispiel). Es ist auch möglich, die aktuelle sichtbare Schaltfläche zu entfernen und eine neue mit einem anderen UIBarButtonSystemItem hinzuzufügen.

    
Lorenzo B 05.01.2012 12:05
quelle
2

Hier ist eine ziemlich vollständige Lösung für das, was ich gerade implementiert habe:

Definieren Sie zuerst vars, um beide Schaltflächen zu halten:

%Vor%

(Mein Verständnis hier ist, dass die Symbolleiste ein schwacher Verweis ist, da sie über IB definiert ist und einen starken Zeiger darauf hat, aber dass die Wiedergabe / Pause-Buttons starke Zeiger sind, weil wir sie unten erstellen. Aber mein Fu ist an dieser Front ein wenig schwach, als ein ziemlich Neuling, also Korrekturen geschätzt.)

Zweitens, in IB erstellen Sie nur eine Play-Taste (keine Pause-Taste) und binden Sie sie an die oben genannten PlayButton var.

Stellen Sie drittens diese Methode ein:

%Vor%

Viertens, rufen Sie setAsPlaying auf, egal wo Sie spielen oder pausieren möchten. Zum Beispiel:

%Vor%     
mowliv 11.03.2013 01:06
quelle
0

Ich glaube, wenn der Stil erst einmal festgelegt wurde (d. h. beim Erstellen von Oberflächen oder beim Erstellen der Schaltfläche im Code), kann er nicht geändert werden.

Ihre einzige andere Option besteht darin, die Schaltfläche im Code zu entfernen und an ihrer Stelle eine neue mit einem anderen Stil zu erstellen. Sie könnten diese Methode aufrufen:

%Vor%

Weitere Informationen zu UIBarButtonItem finden Sie in das .

    
The Crazy Chimp 05.01.2012 11:55
quelle
0

Ja, Sie können den "Stil" nicht ändern (er wird nicht Stil genannt), sobald er eingestellt ist.

Ja, Sie können eine andere Schaltfläche erstellen, die es behebt.

Hier ist wiederverwendbarer Code, der das tut:

%Vor%

Hier ist Controller normalerweise self .

    
Full Decent 07.12.2013 19:59
quelle

Tags und Links