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")
Другие вопросы по тегам