¿Cómo forzar una vista para que se renderice?

En mi aplicación tengo varias subvistas pequeñas. Cuando el usuario toca una subvista, coloco una vista separada encima de la subvista tocada (mismo tamaño) y luego animo esta vista separada al tamaño de pantalla completa.

La vista ampliada se dibuja a medida, lo que está creando un gran problema con este enfoque. Si creo la vista ampliada en mi @ vista principviewDidLoad y establece su marco en tamaño de pantalla completa, la vista esdrawRectl método @ se llama de inmediato y la vista se representa correctamente a tamaño completo. Si luego uso esta vista en la animación, todo funciona como se esperaba.

Sin embargo, necesito que esta vista de ampliación sea diferente dependiendo de la subvista que se haya tocado, por lo que necesito volver a crearla / volver a dibujarla cada vez. El problema es que cuando hago esto en respuesta a un evento táctil, la vista esdrawRectl método @ no se llama hasta que comienza la animación, en cuyo momento el marco de la vista es pequeño en lugar de pantalla completa, y como resultado todo se dibuja mal.

En mi código para el evento táctil, estoy configurando explícitamente el marco de la vista a pantalla completa y llamando asetNeedsDisplay antes de comenzar la animación, pero esto no tiene efecto -drawRect simplemente no se llama hasta que comience la animación.

¿Hay alguna forma de forzar un redibujo, para que la vista se dibuje mientras su marco es del tamaño que quiero que sea?

Respuestas a la pregunta(4)

Su respuesta a la pregunta