2010-03-09 4 views
5

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

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

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

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

Спасибо.

ответ

0

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

+0

Это стандартный хак, который я и все еще использую на данный момент, да; но совершенно не нужно «взломать» это; kCAOnOrderOut должен просто работать как задокументированный. –

Смежные вопросы