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.
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.
Tags und Links iphone ios cocoa-touch uibutton subclass