Я работаю над приложением, в котором я хотел бы использовать cocos2d на главном экране приложения, но нигде в другом месте (в других местах стандартный материал UIKit более уместно). Итак, у меня EAGLView настроен как корневое представление в UINavigationController, и когда пользователь нажимает в нужном месте, я нажимаю новый контроллер представления на контроллер навигации.
Это ' пока работает отлично. Материал cocos2d / chipmunk в домашнем представлении работает отлично, запуск нового контроллера представления работает, как ожидалось.
Но когда я возвращаюсь в домашний экран, там ничего нет. Все, что я вижу, это фон окна и панель навигации.
Я установил точку останова в корневом контроллере представления -viewDidAppear: чтобы увидеть, что происходит после всплывающего сообщения, и пока все выглядит нормально (или, по крайней мере, так же, как оно было до нажатия).
Это просто стандартное нажатие навигационного контроллера. Я не вижу никаких предупреждений о памяти. У кого-нибудь есть мысли о том, что происходит?
Есть простой демонстрационный проект, который демонстрирует это поведение по адресу http://cl.ly/1Q050s0h2k47032K1Y1N
Он основан на шаблоне проекта cocos2d + chipmunk. Нажмите на Grossini, и новый контроллер представления будет помещен в стек. Нажмите кнопку «Назад», и Гроссини исчезнет.
И, чтобы было интересно, эта проблема существует только на устройстве iOS (я использую 4.1), а не в симуляторе.