Ermitteln, wann eine benutzerdefinierte UIB-Taste gedrückt wurde

8

Ich habe eine benutzerdefinierte UIButton (UIButton-Unterklasse) für meine Anwendung erstellt. Wie würde ich bei der Implementierung dieser Schaltfläche die Hintergrundfarbe ändern, wenn sie gedrückt wird? (Es sollte zu seinem normalen Hintergrund zurückkehren, wenn es gedrückt wird. Ich verwende derzeit Core Graphics, um einen Gradientenhintergrund zu zeichnen.)

Ich habe versucht, in drawRect: zu verzweigen (prüft auf self.selected und self.highlighted , aber es tritt keine Änderung auf, weil drawRect nicht beim Berührungsereignis aufgerufen wird.

Alle Vorschläge oder Codebeispiele sind willkommen.

    
Evan Mulawski 26.10.2011, 21:32
quelle

1 Antwort

15

Versuchen Sie [self setNeedsRedraw] in Ihrem Berührungsereignis aufzurufen.

Asker hat eine Lösung basierend auf dieser Antwort und den folgenden Kommentaren bereitgestellt.

Lösung

Verwendet:

%Vor%

Wo die Selektoren benutzerdefinierte Funktionen sind, die die Hintergrundänderung durchführen.

    
Micah Hainline 26.10.2011, 21:35
quelle