Mam aplikację, w której mam podklasę UINavigationController
jako moją rootViewController
. Mam UITableViewController
, który pozwala użytkownikowi edytować niektóre ustawienia, powinien zawsze być w trybie portretu. Moja aplikacja musi również obsługiwać wszystkie inne orientacje po tym, jak popchnę komponent MoviePlayer na kontroler nawigacyjny.Problem z automatyczną rotacją systemu iOS 6 - obsługiwanaInterfaceOrientacje zwracana wartość nie jest przestrzegana
UITableViewController
podklasa ma tę realizację supportedInterfaceOrientations:
- (NSUInteger)supportedInterfaceOrientations {
LLog();
return UIInterfaceOrientationMaskPortrait;
}
Polecenie rejestrowanie mówi mi, że to zostanie właściwie nazywa.
Problem polega na tym, że zwracana wartość nie jest przestrzegana, tzn. Po włączeniu urządzenia ekran zmienia orientację poziomą.
Co mogę zrobić, aby widok ustawień zawsze pokazywał się w pionie, ale zezwalał na zmiany orientacji w przeglądarce wideo?
Więcej informacji: moja podklasa UINavigationController
nie zastępuje wartościAutoruj lub wspierajInterfejsOrientacje. I nie wdrożyły
- (NSUInteger)application:(UIApplication *)application
supportedInterfaceOrientationsForWindow:(UIWindow *)window
metoda w moim AppDelegate i mam włączone wszystkie kierunki w podsumowaniu docelowej.
Jest to zdecydowanie twórcze rozwiązanie, ale nie mogę uwierzyć, że to jest to, czego oczekuje od nas Jabłko robić. Mam problem ze zrozumieniem ich nowego schematu autorotacji. Mówią najlepsze reguły ViewController na pełnym ekranie. Ale, jak wskazujesz, górny pełnoekranowy ViewController jest w wielu przypadkach kontrolerem NavigationController. Czy powinniśmy następnie dokonać jego podklasy lub utworzyć kategorię do wdrożenia komunikatu supportedInterfaceOrientations? Nie czuje się dobrze. – eddy
To też nie jest dobre dla mnie, może to tylko błąd w implementacji Apple. – Mindaugas
To nie działa dla mnie. Próbowałem również podklasowania, ponieważ Kategorie nie zapewniają zastąpienia metody :( – Pacu