2012-10-25 15 views
6

Mam scenariusz, w którym przedstawiam modalny kontroler widoku z rootViewController głównego okna. Podczas ładowania zawartości tego modala przełączam się do innego okna ładowania, które robię kluczem i widzę.iOS 5 UIWindow makeKeyAndVisible zamyka modalne

To okno działa jako wskaźnik ładowania i nie pozwala użytkownikowi na interakcję z aplikacją. Po zakończeniu ładowania przełączam się z powrotem do głównego okna, czyniąc go kluczowym i widocznym. Kiedy to zrobię, modal jest zamknięty, a aplikacja nie jest już w stanie zaprezentować modów.

Co ciekawe, jeśli wykonam [UIWindow makeKeyWindow] podczas przełączania z powrotem do głównego okna, nie ma problemów. Przyczyną problemu jest [UIWindow makeKeyAndVisible]. Czy [UIWindow makeKeyWindow] jest dopuszczalną alternatywą?

To tylko iOS 5. Brak problemów w systemie iOS 6. Nie obsługuję systemu iOS 4. Czy ktoś wie, co może się tutaj wydarzyć?

+0

Nie powinieneś używać więcej niż jednego okna, z wyjątkiem innych wyświetlaczy, takich jak vga out – Bastian

+0

Widzę to samo zachowanie. Czy właśnie zdecydowałeś się użyć programu makeKeyWindow i wszystko jest w porządku? – strawtarget

+0

Bastian, czy byłbyś w stanie wyjaśnić, dlaczego nie jest dobrą praktyką używać więcej niż jednego okna. Nie widzę niczego w dokumentach, które stwierdza, że ​​aplikacja musi lub powinna mieć tylko jedno okno. Referencja klasy UIWindow stwierdza: "Jeśli aplikacja nie może wyświetlać treści na ekranie urządzenia zewnętrznego, aplikacja ma tylko jedno okno." –

Odpowiedz

6

Mam ten sam problem, jak i dokumentacji stwierdza, że ​​makeKeyAndVisible metoda jest metoda wygoda wydaje mi legit zastąpił makeKeyAndVisible połączenia z kodem robocza:

[window makeKeyWindow]; 
window.hidden = NO; 

nie mają pojęcia, co się stało, ale wygląda jak błąd.

+0

Dziękuję za odpowiedź. Próbowałem powyższego i wszystko wygląda dobrze! –

0

Jest to zdecydowanie błąd w implementacji interfejsu iOS 5 UIWindow. Zmierzyłem się z tym dziwnym zachowaniem, a odpowiedź Aleksiej była drogą do zrobienia.

Powiązane problemy