Применить изменения CAAnimation при анимации - PullRequest
3 голосов
/ 14 марта 2012

Я хочу анимировать UIView с данным CAAnimation и взаимодействовать с представлением во время его анимации (представление имеет распознаватель жестов).

Если я правильно понимаю, CAAnimation только анимируетслой вида, но сам вид останется в исходном положении.

Как я могу заставить UIView двигаться с CAAnimation?

Ответы [ 2 ]

0 голосов
/ 16 марта 2012

Если вас волнует только визуальная «липкость», вы можете сделать:

[myAnimation setRemovedOnCompletion:NO];

Но это только визуально.Это не меняет фактические свойства слоя.

Если вы хотите, чтобы свойства слоя также обновлялись до новых значений, вы можете сделать что-то вроде:

// You have code above that to register the property you want to animate...
[myAnimation setFromValue:[NSNumber numberWithFloat:0.0f]];
[myAnimation setToValue:[NSNumber numberWithFloat:1.0f]];
0 голосов
/ 16 марта 2012

Вместо того, чтобы пытаться переместить его, вы можете расширить UIView, чтобы охватить область, в которую вы хотите получить прикосновения, а затем анимировать ее layer внутри. Убедитесь, что для свойства view opaque установлено значение NO.
Возможно, вы захотите добавить sublayer к view.layer вместо перемещения собственного слоя вида, например, если вы хотите, чтобы слой вышел за границы вида, не затрагивая компоновку подпредставлений вида.

...