UIButton Standard Titelfarbe iOS7

7

Ich möchte wissen, wie man die Titelfarbe eines UIButton auf den Standardwert zurücksetzt.

Ich habe einen Button, mit dem ich die Titelfarbe ändere, um anzuzeigen, dass etwas eingeschaltet ist, so;

[cell.offStateSwitch setTitleColor:[UIColor redColor] forState:UIControlStateNormal];

Wenn es ausgeschaltet ist, möchte ich es auf die Standardfarbe zurücksetzen.

Ich kann nicht herausfinden, wie man die Standard-Systemfarbe für ein UIButton bekommt. Ich habe viele Leute gefunden, die dies tun, indem sie einen bestimmten RGB-Wert erzwingen, aber das ist bei verschiedenen Versionen von iOS nicht unbedingt korrekt.

    
Rohan Hamer 23.09.2013, 05:03
quelle

5 Antworten

11

Setzen Sie die Farbe auf Null, und das Verhalten wird auf den Wert vor der Änderung zurückgesetzt, einschließlich der korrekten Reaktion auf Warnungen.

%Vor%     
user2282219 10.03.2014 23:37
quelle
9

Ich nehme an, Sie meinen, Sie möchten den Text zurück auf die Farbtonfarbe . Wenn Sie nur den aktuellen FarbtonColor möchten, können Sie Folgendes tun:

%Vor%

Die tintColor soll sich jedoch unter bestimmten Umständen automatisch ändern, etwa wenn eine Warnung erscheint. Um das zu erreichen, müssen Sie einen eigenen Button definieren:

%Vor%

In diesem Fall schlage ich vor, dass Sie den ausgewählten Zustand für Ihre spezielle Farbe verwenden:

%Vor%

und setzen button.selected = YES , wenn "etwas ist an", wie Sie sagen.

    
fishinear 01.11.2013 13:56
quelle
5
%Vor%

oder

%Vor%
  

In iOS v7.0 leiten alle Unterklassen von UIView ihr Verhalten für   tintColor aus der Basisklasse. Siehe die Diskussion von tintColor im   UIView-Ebene für weitere Informationen.

     

Diese Eigenschaft hat keinen Standardeffekt für Schaltflächen mit Typ   UIButtonTypeCustom. Für benutzerdefinierte Schaltflächen müssen Sie beliebige implementieren   Verhalten in Bezug auf TintColor selbst.

Wenn Sie UIBottons tintColor auf nil (null) setzen, wird die Farbe des Titels zurückgesetzt

    
user3441734 03.02.2015 20:20
quelle
1

Es gibt keine Eigenschaft für Standardtitelfarbe in iOS, Sie können es einfach erhalten.

Definieren Sie einfach defaultColor:

UIColor* defaultColor; dann in Ihrem viewDidLoad put oder wo auch immer die Ansicht initialisiert wird:

%Vor%

Dann haben Sie defaultColor als Standardfarbe für den Titel.

    
null 23.09.2013 05:32
quelle
0

Fügen Sie den folgenden Code in CellForRowAtIndexPath delegate ......

hinzu %Vor%

Fügen Sie in der Tastenaktion den folgenden Code hinzu

%Vor%     
DineshKumar 23.09.2013 05:42
quelle

Tags und Links