Как мы можем заставить kCAOnOrderOut работать? - PullRequest
5 голосов
/ 09 марта 2010

В документации Apple утверждается, что ключ действия Core Animation kCAOnOrderOut имеет одну единственную цель: анимировать слой вне поля зрения, когда он либо становится скрытым, либо к нему вызывается -removeFromSuperlayer. Я имею в виду только последний случай в этом вопросе.

На практике, когда вызывается -removeFromSuperlayer, слой немедленно удаляется, и на нем не выполняется анимация.

Намекнули, что это разница между уровнями Презентации и Модели, но я не достаточно опытен в Core Animation, чтобы знать, что с этим делать.

Если кто-то может объяснить, как заставить анимацию запускаться до удаления слоя, когда анимация возвращается для ключа kCAOnOrderOut, это будет оценено по крайней мере мной и несколькими другими людьми.

Спасибо.

1 Ответ

0 голосов
/ 22 апреля 2010

Я понятия не имею, как реализовать это с помощью ключа kCAOnOrderOut, но я столкнулся с подобной проблемой некоторое время назад. Мое исправление состояло в том, чтобы установить анимацию с определенной продолжительностью и немедленно отправить отложенный таймер, который ожидал столько же времени, сколько и продолжительность анимации. После того, как мой таймер сработал, я удалил бы слой / представление.

...