Estoy trabajando en una aplicación en la que me gustaría usar cocos2d en la pantalla de inicio de la aplicación, pero no en otro lugar (en otros lugares, el material UIKit estándar es más apropiado). Por lo tanto, tengo mi EAGLView configurada como la vista raíz en un UINavigationController, y cuando el usuario toca en el lugar correcto, coloco un nuevo controlador de vista en el controlador de navegación.cocos2d y UINavigationController trouble
Eso funciona muy bien, hasta ahora. Las cosas de cocos2d/chipmunk en la vista de inicio funciona de maravilla, empujando un nuevo controlador de vista que funciona como se esperaba.
Pero cuando vuelvo a la vista de inicio, no hay nada allí. Todo lo que veo es el fondo de la ventana y la barra de navegación.
Establecí un punto de interrupción en el controlador de la vista raíz -viewDidAppear: para ver qué sucede después del pop, y hasta ahora todo parece normal (o al menos igual que antes de la inserción).
El empuje es simplemente un impulso de controlador de navegación estándar de pantano. No veo ningún tipo de advertencia de memoria. Alguien tiene pensamientos sobre lo que está pasando?
Hay un proyecto de demostración simple que muestra este comportamiento en http://cl.ly/1Q050s0h2k47032K1Y1N
Esto se basa en la plantilla de proyecto cocos2d + ardilla. Toque Grossini y se inserta un nuevo controlador de vista en la pila. Toca el botón Atrás, y Grossini se va.
Y solo para hacerlo interesante, este problema solo existe en un dispositivo iOS (estoy ejecutando 4.1), no en el simulador.
dudo que este es el problema, sino que están fugas de estos dos tipos: http://cl.ly/1J26180i383F3H0z3V2L –
Ni siquiera estoy seguro de lo que son, pero no se ven relacionados. –
Encontré que si mi -viewDidLoad llama -setNeedsLayout en el EAGLview, los objetos cocos2d se restauran y la vista principal es visible después de que el controlador de navegación aparece en la raíz. Sin embargo, hay un parpadeo notable, por un momento, los objetos cocos2d no son visibles, pero luego aparecen. Una versión modificada de mi demostración que incorpora esto está en http://cl.ly/1L423a1x27373t1q0s0y Esto se siente como progreso pero es un desagradable parpadeo. –