CABasicAnimation безгранично повторяется без HUGE_VALF?
Я пытаюсь выполнить автоматическое повторение анимации вращения изображения с помощью CABasicAnimation. Я пытался найти в Интернете, как установить такое свойство, но не смог найти это. Неужели такого свойства нет для CA-анимации? Я знаю, что вы можете установить какое-то огромное значение ( здесь) для свойства repeatCount, но, эй, почему тогда UIView animateWithDuration имеет опцию UIViewAnimationOptionRepeat и какое значение для него жестко закодировано?
2 ответа
Нет, это то, как вы должны делать это в соответствии с документацией.
Установка этого свойства в
HUGE_VALF
заставит анимацию повторяться вечно.
Обновление для Swift:
HUGE_VALF не выставляется Swift. Тем не менее, я понимаю из этой страницы, что HUGE_VALF предназначен для бесконечности (на самом деле, INFINITY
определяется как HUGE_VALF
). С Свифта FloatingPointType
протокол обеспечивает static var infinity
Вы можете просто написать
myAnimation.repeatCount = .infinity
Для Swift 3.0 и выше
let rotationAnimation = CABasicAnimation(keyPath: "transform.rotation.z")
rotationAnimation.fromValue = 0
rotationAnimation.toValue = CGFloat.pi * 2
rotationAnimation.duration = 1
rotationAnimation.repeatCount = .infinity
holderView.btnRefresh.layer.add(rotationAnimation, forKey: "spinAnimation")