UIButton haben eine Methode zum Einstellen der Titelfarbe. Also, wenn Sie hatten ein UIButton IBOutlet namens myBtn:
myBtn.setTitleColor(UIColor.blackColor(), forState: .Highlighted)
und den Text der Taste auf Touch ändern:
myBtn.setTitle("This button was touched", forState: .Highlighted)
Was die Hintergrundfarbe einstellen, könnten Sie eine Erweiterung hinzufügen, für Ihre UIButton, die Sie dies tun können:
extension UIButton {
private func imageWithColor(color: UIColor) -> UIImage {
let rect = CGRectMake(0.0, 0.0, 1.0, 1.0)
UIGraphicsBeginImageContext(rect.size)
let context = UIGraphicsGetCurrentContext()
CGContextSetFillColorWithColor(context, color.CGColor)
CGContextFillRect(context, rect)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return image
}
func setBackgroundColor(color: UIColor, forUIControlState state: UIControlState) {
self.setBackgroundImage(imageWithColor(color), forState: state)
}
}
Dann könnten Sie tun:
myBtn.setBackgroundColor(UIColor.grayColor(), forUIControlState: .Highlighted)
Hoffe, das hilft!
Danke, aber es zeigt nur den Hintergrund als blau, wenn ich die Maus loslassen, gibt es eine Möglichkeit, es zu tun, wenn ich darauf klicke? – Snorlax
@Snorlax Antwort bearbeitet! – Coder1000
Danke, genau das, was ich wollte, bekomme ich diesen Fehler obwohl nachdem ich es angeklickt habe und es grau wird: 2016-05-15 16: 18: 15.708 ModalTest3 [18234: 2955837] - [ModalTest3.helpViewController buttonChange:]: unerkannter Selektor gesendet an Instanz 0x7fb9238abed0 2016-05-15 16: 18: 15.712 ModalTest3 [18234: 2955837] *** Beenden der App aufgrund der nicht abgefangenen Ausnahme 'NSInvalidArgumentException', Grund: '- [ModalTest3.helpViewController buttonChange:]: unerkannter Selektor gesendet an Beispiel 0x7fb9238abed0 ' – Snorlax