Pracuję nad aplikacją, w której chciałbym używać cocos2d na ekranie głównym aplikacji, ale nie gdzie indziej (w innych miejscach bardziej odpowiednie są standardowe pliki UIKit). Tak, mam ustawiony EAGLView jako widok główny w kontrolerze UINavigationController, a kiedy użytkownik kliknie we właściwym miejscu, wciskam nowy kontroler widoku na kontroler nawigacyjny.Problemy z cocos2d i UINavigationController
To działa świetnie, jak dotąd. Cocos2d/chipmunk stuff w widoku domowym działa świetnie, przesuwając nowy kontroler widoku działa zgodnie z oczekiwaniami.
Ale kiedy wracam do widoku domu, nic tam nie ma. Wszystko, co widzę, to tło okna i pasek nawigacyjny.
Ustawiam punkt przerwania w widoku kontrolera widoku głównego - viewDidAppear: aby zobaczyć, co się dzieje po pop, i jak dotąd wszystko wydaje się być normalne (lub przynajmniej takie samo, jak przed naciśnięciem).
Push jest tylko standardowym urządzeniem nawigacyjnym. Nie widzę żadnych ostrzeżeń o pamięci. Ktoś myśli o tym, co się dzieje?
Jest to prosty projekt demo, który pokazuje to zachowanie w http://cl.ly/1Q050s0h2k47032K1Y1N
ten jest oparty na szablonie projektu Cocos2d + burunduka. Stuknij w Grossini, a nowy kontroler widoku zostanie wciśnięty na stos. Kliknij przycisk Wstecz, a Grossini zniknął.
I tylko po to, aby było ciekawie, problem ten występuje tylko na urządzeniu z systemem iOS (używam wersji 4.1), a nie w symulatorze.
wątpię, to jest problem, ale masz wyciek tych dwóch facetów: http://cl.ly/1J26180i383F3H0z3V2L –
nawet nie jestem pewien, co to jest, ale nie wyglądają na powiązane. –
Znalazłem, że jeśli mój -viewDidLoad dzwoni -setNeedsLayout w widoku EAGL, obiekty cocos2d są przywracane, a widok główny jest widoczny po wyskoczeniu kontrolera nawigacyjnego do katalogu głównego. Istnieje jednak zauważalny migotanie - przez chwilę obiekty cocos2d nie są widoczne, ale potem pojawiają się. Zmodyfikowana wersja mojego demo, która je zawiera, jest dostępna pod adresem http://cl.ly/1L423a1x27373t1q0s0y To wygląda jak postęp, ale to paskudne migotanie. –