Я пытаюсь оживить слой до бесконечно мигающего (исчезает и исчезает, пока свойство isBlinking не переключается на false), моя попытка заключается в следующем, но, похоже, это не работает правильно, я могу наблюдать немного сбой каждые пару миганий. Я также хочу, чтобы слой исчезал, чтобы быть полностью непрозрачным, когда свойство установлено в false, так что нет никаких резких изменений внезапной непрозрачности, но по какой-то причине мой код тоже не работает для этого.Мигающий эффект с fadeIn/fadeOut CABasicAnimation
var isBlinking: Bool = false {
didSet {
if !isBlinking {
layer.removeAllAnimations()
let fadeIn = CABasicAnimation(keyPath: "opacity")
fadeIn.toValue = 1
fadeIn.duration = 1
layer.addAnimation(fadeIn, forKey: nil)
return
}
let fadeOut = CABasicAnimation(keyPath: "opacity")
fadeOut.fromValue = 1
fadeOut.toValue = 0.1
fadeOut.duration = 1
let fadeIn = CABasicAnimation(keyPath: "opacity")
fadeIn.fromValue = 0.1
fadeIn.toValue = 1
fadeIn.duration = 1
fadeIn.beginTime = 1
let group = CAAnimationGroup()
group.duration = 2
group.repeatCount = Float.infinity
group.animations = [fadeOut, fadeIn]
layer.addAnimation(group, forKey: nil)
}
}
Я бы по достоинству оценил любые рекомендации в swift или obj-c. Благодаря!