CALayer в UIImageView - PullRequest
       24

CALayer в UIImageView

1 голос
/ 19 декабря 2011

У меня есть CALayer , и я хотел бы использовать его как UIImageView . Таким образом, я смогу переместить его с помощью таймеров и т. Д. ... вот этот слой:

CALayer *rootLayer  = [CALayer layer];

И я хотел бы переместить его с таймером так:

Image.center=CGPointMake(Image.center.x +10, Image.center.y );

1 Ответ

1 голос
/ 19 декабря 2011

Для этого вам понадобится CABasicAnimation.Для таймера создайте NSTimer.Убедитесь, что таймер запускает метод в главном потоке, используя один из методов performSelectorOnMainThread.

Этот метод добавит CABasicAnimation к слою.Вы должны быть осторожны с конечными позициями, так как после завершения анимации ваш слой будет по-прежнему виден в исходном положении.

Чтобы решить эту проблему, вам нужно обновить значение модели слоя вanimationDidStart делегат обратного вызова CABasicAnimation.

Обратите внимание, что если это повторяющаяся анимация - что, я полагаю, при использовании таймера - вы можете использовать флаг removedOnCompletion.Это означает, что вы можете повторно использовать одну и ту же анимацию несколько раз.Проверьте этот вопрос для деталей о том, как использовать это:

Как повторно использовать CABasicAnimation, если не удален после завершения?

...