как остановить базовую анимацию?

Редактирование: Lars победил меня к нему, к сожалению

Хорошо существует элемент управления ActiveX на основе механизма Геккона, который пытается представить точную копию IWebBrowser API (который TWebBrowser использует).

можно найти его здесь: http://www.iol.ie/~locka/mozilla/control.htm , К сожалению, похоже, что это не было обновлено в некоторое время. Последняя версия основана на Гекконе 1.7.12, и я полагаю, что Геккон в настоящее время до 1.9.x (используется в Firefox 3)

8
задан Stunner 7 May 2016 в 07:34
поделиться

2 ответа

Из Руководство по программированию основной анимации

Запуск и остановка явных анимаций

Вы запускаете явную анимацию, отправляя сообщение addAnimation: forKey: на целевой слой, передавая анимацию и идентификатор в качестве параметров. После добавления к целевому слою явная анимация будет выполняться до завершения анимации или до тех пор, пока она не будет удалена со слоя. Идентификатор, используемый для добавления анимации к слою, также используется для ее остановки путем вызова removeAnimationForKey :. Вы можете остановить все анимации для слоя, отправив слою сообщение removeAllAnimations.

23
ответ дан 5 December 2019 в 05:34
поделиться

Как указывает nall, вам просто нужно назначить ключ вашей анимации (строка и т.д.), а затем использовать -removeAnimationForKey: на вашем слое, чтобы удалить эту конкретную анимацию.

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

7
ответ дан 5 December 2019 в 05:34
поделиться