2010-07-09 7 views
7

In IB Brennen ich eine Ansicht mit einem UIButton von Typ Gewohnheit haben, hat es kein Bild und der Titel wird als „#placeholder“eine benutzerdefinierte Stopping UIButton Titlelabel zu IB Standard auf Ereignis Zurücksetzen

Der Blick angebracht ist zu einer Klasse, die eine IBOutlet und eine IBAction für die Schaltfläche bereitstellt.

Ich setze den Knopftitel mit diesem: ViewClass.ButtonOutlet.titleLabel.text = @"%@",stringifiedVariable;, wann immer ich brauche.

Das funktioniert ok. Wenn ich jedoch auf die Schaltfläche klicke, wird titleLabel.text wieder auf "place holder" zurückgesetzt.

Ich habe versucht, die Markierung 'Highlighted Adjust Image' im Bereich Zeichnung (Registerkarte Attribute) im Inspektor zu deaktivieren, aber das Verhalten war immer noch das gleiche.

Kann diese Änderung verhindert werden? oder gibt es ein besseres Muster, das ich verwenden sollte?

Antwort

12

UIButton verfügt über eine spezielle Methode zum Festlegen des Labels.

  • (void) setTitle: (NSString *) Titel forState: (UIControlState) Zustand

Zum Beispiel

NSString *buttonText = [NSString stringWithFormat:@"%@",stringifiedVariable]; 
[ViewClass.ButtonOutlet setTitle:buttonText forState:UIControlStateNormal]; 

die Dokumentation für weitere Details prüfen.

+0

Danke für die schnelle Antwort –

0

Wenn der Text nicht geändert werden soll, wenn Sie darauf klicken, ist der einfachste Weg, den Titel aus der Schaltfläche in IB zu nehmen und dann die setTitle: forState: -Methode von Jongsma zu verwenden.

+0

Ich habe das ursprünglich versucht; Die Schaltfläche zeigte überhaupt keinen Text an –

Verwandte Themen