Swift 4.1 UILabel-Erweiterung:
Fügen Sie diese Erweiterung Ihrem Code hinzu:
extension UILabel {
func animateBackgroundColor(to color : UIColor?, withDuration : TimeInterval, completion : ((Bool) -> Void)? = nil) {
guard let newColor = color else { return }
self.backgroundColor = .clear
UIView.animate(withDuration: withDuration, animations: {
self.layer.backgroundColor = newColor.cgColor
}, completion: completion)
}
}
Sie sollten es so verwenden:
myUILabel.animateBackgroundColor(to: .red, withDuration: 0.5)
Wenn Sie nun die ursprüngliche Farbe wiederherstellen möchten, verwenden Sie sie wie folgt:
let originalColor = myUILabel.backgroundColor
myUILabel.animateBackgroundColor(to: .red, withDuration: 0.5)
myUILabel.animateBackgroundColor(to: originalColor, withDuration: 0.5, completion: )