2017-03-05 1 views
0

ausgewählt Ich habe eine sehr minimal UIButton (keine Grenze, Schriftfarbe weiß auf einem klaren Hintergrund, hat seine superview einen dunklen Hintergrund). Wenn ein Benutzer auf die UIB-Taste tippt, ändere ich den Alphakanal der weißen Textfarbe, um dem Benutzer ein ausgegrautes Aussehen und Signal zu geben. Wie behalte ich den Knopf in einem ausgewählten Zustand, nachdem er den Knopf gedrückt hat?Wie die Textfarbe eines UIButton auf iOS ändern, wenn sie ausgewählt und halten sie

Die Textfarbe fast schaltet sofort wieder von grau zu weiß, und ich möchte, dass die Farbe grau bleiben, fast verhalten „klebrig“, so der Benutzer wirklich sieht es ausgewählt wurde. Wie erreiche ich das? Dies ist der Code, den ich bisher habe.

logInButton.setTitleColor(pwStyle.appThemeTextFontColor, for: .normal) 
     logInButton.setTitleColor(pwStyle.appThemeTextFontColor.withAlphaComponent(0.3), for: .highlighted) 
     logInButton.setTitleColor(pwStyle.appThemeTextFontColor.withAlphaComponent(0.3), for: .selected) 

^^ Vor pwStyle.appThemeTextFontColor gibt nur UIColor.white

Antwort

0

Sie könnten den "ausgewählten" Farbe auf die "disabled" Schaltflächenzustand- hinzufügen:

logInButton.setTitleColor(pwStyle.appThemeTextFontColor.withAlphaComponent(0.3), for: .disabled) 

und einfach die Taste deaktivieren Drücken Sie ... und aktivieren Sie es später wieder.

0

Sicherstellen, dass die Taste Typ Gewohnheit anstelle des Systems ist so der Titel dieser sich im Inneren in Ihre Berührung nicht verblassen und verwenden.

@IBAction func myButtonDidPress(_ sender: UIButton) { 
     sender.isSelected = !sender.isSelected 

    } 

Prost

Verwandte Themen