CABasicAnimation неограниченное повторение без огромного VALF?



Я пытаюсь выполнить автоматическое повторение анимации вращения моего изображения с помощью CABasicAnimation. Я попытался найти в интернете, как установить такое свойство, но не смог найти его. Действительно ли у CA animation нет такого свойства? Я знаю, что вы можете установить какое-то огромное значение (здесь) для свойства repeatCount, но Эй, почему тогда UIView animateWithDuration имеет опцию UIViewAnimationOptionRepeat и какое значение жестко закодировано для него?

135   2  

2 ответов:

Нет, это то, как вы должны это делать в соответствии сдокументацией .

Установка этого свойства в HUGE_VALF приведет к тому, что анимация будет повторяться вечно.


Обновление для Swift:

HUGE_VALF не подвергается воздействию Swift. Однако, как я понял из этой страницы , HUGE_VALF должен быть бесконечностью (на самом деле, INFINITY определяется как HUGE_VALF). Поскольку протокол Swift 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")
    Ничего не найдено.

Добавить ответ:
Отменить.