2016-12-26 3 views
0

Ich habe ein Problem, wenn Sie versuchen, Schaltflächen verwenden, um die Farbe eines Beschriftungshintergrunds und Schaltfläche Text zu ändern.Ändern Sie Etikettenhintergrund und Schaltfläche Textfarbe mit Schaltflächen

Hier ist der Code ich verwende:

var player1color = UIColor.red 

@IBAction func playerBlue(_ sender: AnyObject) 
{ 
    player1color = UIColor.blue 
} 

... 

sender.setTitle!("X", for: UIControlState()) 
      sender.setTitleColor(player1color, for: UIControlState()) 
... 

label.backgroundColor = player1color 
       label.text = "X" 

gibt das Programm keine Fehler vor zu laufen versuchen, aber wenn ich versuche, das Programm auszuführen, bricht es am Anfang "var player1color = UIColor.red " Ich denke, dass ich die falsche Syntax oder etwas verwende, und ich finde nichts, das mir hilft zu verstehen, was hier falsch ist. Ich habe eine Weile nach einer Lösung für dieses Problem gesucht, ohne Erfolg. Es funktioniert, wenn ich einfach "UIColor.red" oder eine beliebige Farbe anstelle von "player1color" in die Bezeichnung und sender.setTitleColor setze, aber ich sollte in der Lage sein, eine Variable an dieser Stelle zu verwenden, damit ich die Farbe mit IBActions ändern kann , Recht?

Grundsätzlich habe ich Schaltflächen, die verschiedene voreingestellte Farben darstellen, die bei einem Klick player1color = UIColor setzen. egal welche Farbe hier, so dass die Bezeichnung Hintergrund und Schaltfläche Text die ausgewählten Farben sein können.

Vielen Dank für die Hilfe im Voraus, und es tut mir leid, wenn dies eine äußerst einfache Situation ist. Es ist schwer zu finden, konkrete Selbsthilfe für Anfänger zu schnellen 3.

+0

le seufz ... es war einfach "Haltepunkt entfernen" Ich wusste nicht über Haltepunkte. Ich weiß immer noch nicht, warum diese hinzugefügt werden, oder warum Sie sie entfernen müssen, wenn sie verhindern, dass die App ausgeführt wird ... aber alles funktioniert so, wie ich es möchte. Entschuldigung für die nutzlose Frage. Ich wünschte wirklich, es gäbe einen Ort, an dem man wirklich etwas über diese Dinge lernen kann, außer nach einer Situation zu googeln und keine Ergebnisse zu bekommen, weil Anfänger –

Antwort

1

Es tut mir leid, aber ich habe nicht ein klares Bild von dem, was Sie erreichen wollen, aber immer noch hoffe, dass dies Ihnen helfen würde, die Schaltfläche Titel ändern Sie diese Codezeile könnte

Btn_changeColor.setTitle("Active", for: .normal) 

wo Btn_changeColor ist der Name der Schaltfläche

und ändern den Hintergrund verwenden Sie diese für das Label verwenden könnte

lbl_text.backgroundColor = UIColor.red 

das ist die Syntax für swift3 hoffe das hilft dir.

Verwandte Themen