2012-04-02 21 views
14

Ich versuche, meinen Knopf zu gestalten ihre Farben ändern sich, aber wenn ich entweder:iOS - Einstellung UIButton Hintergrundfarbe nur Farben die Ecken

self.loginButton.layer.backgroundColor = [UIColor colorWithRed:0.0 green:157.0/255.0 blue:223.0/255.0 alpha:1.0].CGColor; 

oder

self.loginButton.backgroundColor = [UIColor colorWithRed:0.0 green:157.0/255.0 blue:223.0/255.0 alpha:1.0]; 

Alles, was ich bekommen dieses Ergebnis ist:

enter image description here

Was ich tun möchte, ist die weiße c ändern olor zu blau, irgendeine Idee, was ich falsch mache?

Antwort

17

Sie verwenden eine runde Schaltfläche, die ziemlich hässlich ist, und ziemlich schwer anzupassen.

Sie können eine benutzerdefinierte Schaltfläche erstellen und ein Hintergrundbild verwenden oder eine benutzerdefinierte Schaltfläche erstellen und die Ecken abrunden und die Hintergrundfarbe der Ebene selbst festlegen.

Wenn Sie wirklich Lust bekommen wollen, gibt es ein nettes Tutorial here, das Ihnen beliebig große Farbverlaufstasten mit Ebenen, keine Bilddateien benötigt.

+0

Vielen Dank :) gibt es zufällig etwas neueres? Oder ist das immer noch so? – 8vius

+0

Wäre nett, etwas aktuelleres zu haben, deshalb frage ich, sorry für die Störung – 8vius

+0

Der Link ist noch relevant Rat. Die integrierten Schaltflächen in iOS sind ziemlich schlecht, wenn Sie die Elemente der Leiste oder die Aktionsbögen verlassen. – jrturton

2

Was ist diese Schaltfläche? Wenn Sie Schaltfläche anpassen möchten, müssen Sie eine Schaltfläche erstellen mit [UIButton buttonWithType: UIButtonTypeCustom]

+0

Ja. Dies ist sehr wichtig und leicht zu übersehen. Ich weiß nicht, wie oft ich eine halbe Stunde damit verbracht habe, herauszufinden, warum meine Tasten nicht richtig ausgesehen haben, bis ich endlich merkte, dass ich sie nicht auf Custom eingestellt hatte. – Eagle11

-2

entdeckte ich diese fast durch Zufall:

self.loginButton.tintColor = [UIColor redColor]; 

Definitiv funktioniert und ist seit iOS 2.0 zur Verfügung.

+0

Haben Sie das versucht? Es funktioniert nicht. –

+3

Die tintColor legt nur die Farbe fest, wenn die Taste gedrückt wird. – cat

+0

Katze ist richtig, es ist nur, wenn die Taste gedrückt wird. – helioz