РЕДАКТИРОВАТЬ : Я бы на самом деле хотел анимировать свойство textColor
.Я думал, что это будет то же решение, что и для backgroundColor
, но, очевидно, нет, потому что textColor
недоступно в layer
.Я нашел решение для этого здесь .
Я пытаюсь случайным образом менять цвет фона UILabel
каждую секунду.Код, который я использую, прекрасно работает в обычном представлении, но слишком быстро повторяется, когда я вызываю его на метке.Как будто анимация с продолжительностью не занимает много времени на этикетке.Есть идеи, почему это так?Я на самом деле хотел бы изменить цвет текста ярлыка, поэтому важно, чтобы он работал на ярлыке.
colorChanges(v: lbl) // TOO FAST!
colorChanges(v: someView) // PERFECT
colorChanges(v: self.view) // PERFECT
Код анимации
func colorChanges(v: UIView) {
UIView.animate(withDuration: 1.0, animations: {
v.backgroundColor = UIColor(displayP3Red: CGFloat(arc4random()) / CGFloat(UInt32.max), green: CGFloat(arc4random()) / CGFloat(UInt32.max), blue: CGFloat(arc4random()) / CGFloat(UInt32.max), alpha: 1.0)
}, completion: {
(value: Bool) in
self.colorChanges(v: v)
})
}
Странное поведение
