2010-03-09 22 views
5

La documentación de Apple afirma que la clave de acción Core Animation kCAOnOrderOut tiene un único objetivo: animar una capa fuera de la vista cuando se oculta o tiene -remove FromSuperlayer invocando. Solo me estoy refiriendo al último caso en esta pregunta.¿Cómo podemos hacer que kCAOnOrderOut funcione?

En la práctica, cuando se llama a -removeFromSuperlayer, la capa se elimina inmediatamente y no se realiza ninguna animación en ella.

Se ha insinuado que esta es una diferencia entre las capas de Presentación y Modelo, pero no tengo experiencia suficiente en Core Animation para saber qué hacer con esto.

Si alguien puede explicar cómo forzar la animación de correr antes de la capa se elimina, cuando se devuelve la animación de la clave kCAOnOrderOut, sería apreciado por lo menos yo y algunas otras personas.

Gracias.

Respuesta

0

No tengo idea de cómo implementarlo con la clave kCAOnOrderOut, pero me encontré con un problema similar hace un tiempo. Mi solución fue establecer la animación con una duración específica e inmediatamente enviar un temporizador retrasado que esperó la misma cantidad de tiempo que la duración de la animación. Después de disparar mi temporizador, eliminaría la capa/vista.

+0

Este es el truco estándar que uso todos los demás por el momento, sí; pero debería ser completamente innecesario "piratear" esto; kCAOnOrderOut debería simplemente funcionar como está documentado. –

Cuestiones relacionadas