2013-11-21 12 views
6

Mam ekran obsługujący orientację urządzenia.iOS >> Orientacja urządzenia >> Ekran nie obsługuje odwróconego ekranu

Wszystko działa dobrze, z wyjątkiem faktu, że po obróceniu urządzenia do góry nogami (przycisk u góry), obrót nie działa (utknął przy ostatnich ustawieniach krajobrazu).

Znam kilku miejscach potrzebnych zostać zaktualizowane do obsługi to:

  • W samej VC, dodałem metody:

enter image description here

  • w docelowej projektu, Zaktualizowałem w następujący sposób:

enter image description here

  • W VC Scene storyboard, ja aktualizowany następująco:

enter image description here

Co ja tu brakuje?

+0

Wygląda ........ http://stackoverflow.com/a/33411646/294884 – Fattie

Odpowiedz

10

Trzeba też, aby umożliwić obracanie się do wszystkich orientacjach w każdym widoku nadrzędnego kontrolera bieżącego głównego kontrolera widoku. Na przykład, jeśli kontroler widoku znajduje się w kontrolerze nawigacyjnym, spróbuj go podklasować i zastąp te same metody, co w przykładzie.

Edit: W @JordanC wspomniano, od iOS 7 można wdrożyć UINavigationControllerDelegate metodę powrotu zwyczaj obsługiwane kierunki:

- (UIInterfaceOrientationMask)navigationControllerSupportedInterfaceOrientations:(UINavigationController *)navigationController 
+0

Wow ... W ogóle o tym nie myślałem ... Niezły haczyk !!! –

+4

Tak, domyślam się, że jest to potrzebne tylko dla Odwróconego na iPhonie, ponieważ ten domyślnie nie jest obsługiwany przez kontroler nawigacyjny. – Tricertops

+0

BTW, więc jeśli mam kilka VC na stosie nawigacji i chcę, aby pierwsza NIE była obrotowa (podczas gdy te, które następują są) - Wydaje mi się, że gdy już podklasowałem UINavigationController i ustawiłem ją jako obrotową, nie mogę ustaw jego dziecko VC, aby nie akceptował rotacji. jakieś pomysły? –

0

Czy testowałeś na prawdziwym urządzeniu?

mimo to spróbuj tego:

- (NSUInteger)supportedInterfaceOrientations { 
    return (UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskPortraitUpsideDown); 
} 
+0

"UInterfaceOrientationMaskAll" jako wysłany również je omówi. – rckoenes

+0

Testowałem go na prawdziwym urządzeniu i ma ten sam problem. Próbowałem też tego, co zasugerowałeś (używając operatora |) i nie było tu dobrze ... –

1

Jak wspomniano @eGanges kluczowy punkt może być podklasy swój UITabBarController (i zastąpić supportedInterfaceOrientations) jeśli jest to twój początkowy kontroler widoku, w tym przypadku jest to jedyny kontroler, który powinieneś podklasować (i oczywiście powinieneś dodać wszystkie obsługiwane orientacje interfejsu do pliku aplikacji Info.plist file UISupportedInterfaceOrientations key)

Powiązane problemy