Для этого вам понадобится CABasicAnimation
.Для таймера создайте NSTimer
.Убедитесь, что таймер запускает метод в главном потоке, используя один из методов performSelectorOnMainThread
.
Этот метод добавит CABasicAnimation
к слою.Вы должны быть осторожны с конечными позициями, так как после завершения анимации ваш слой будет по-прежнему виден в исходном положении.
Чтобы решить эту проблему, вам нужно обновить значение модели слоя вanimationDidStart
делегат обратного вызова CABasicAnimation
.
Обратите внимание, что если это повторяющаяся анимация - что, я полагаю, при использовании таймера - вы можете использовать флаг removedOnCompletion
.Это означает, что вы можете повторно использовать одну и ту же анимацию несколько раз.Проверьте этот вопрос для деталей о том, как использовать это:
Как повторно использовать CABasicAnimation, если не удален после завершения?