Как я могу приостановить текущую анимацию? - PullRequest
0 голосов
/ 20 июля 2009

У меня работает Core Animation и я хочу приостановить его при нажатии кнопки. Так что есть метод -pauseAnimation. Когда анимация приостановлена, я хочу, чтобы анимированный вид оставался в том же состоянии, в котором он находился во время анимации. то есть, если вид перемещается сверху слева на правый нижний угол и где-то посередине анимация приостанавливается, вид должен оставаться посередине. Есть ли способ сделать это?

Насколько я помню, есть опция setAnimationsEnabled = NO, но она не работает при запуске анимации, верно?

Ответы [ 2 ]

2 голосов
/ 15 августа 2010

Вы можете приостановить анимацию слоев, установив скорость анимации на ноль, см. Как приостановить анимацию дерева слоев .

1 голос
/ 21 июля 2009

Вы можете сделать это, отключив анимацию, а затем установив значения слоев модели в значения слоев представления (для всех свойств, определяющих вашу анимацию).

например. layer.transform = layer.presentationLayer.transform;

Возобновление анимации = включить анимацию и анимировать с текущих позиций до желаемых конечных позиций (вам может потребоваться настроить кривые и т. Д., Чтобы получить что-то приемлемое).

...