/ / Orientacja do góry nogami nie działa w iOS6 dla widoku UINavigation i widoku UITabbar? - iphone, uinavigationcontroller, ios6, uiinterfaceorientation

Orientacja odwrócona nie działa w iOS6 dla widoku UINavigation i widoku UITabbar? - iphone, uinavigationcontroller, ios6, uiinterfaceorientation

Stworzyłem aplikację w ios 6 z widokiem nawigacji. Ustawiłem też wszystkie opcje orientacji w podsumowaniu aplikacji, a nawet użyłem

 -(BOOL) shouldAutoRotate

i

-(NSUInteger) supportedInterfaceOrientaion

metody w moim kontrolerze widoku. Kiedy uruchamiam aplikację, orientacja działa dobrze, z wyjątkiem pozycji do góry nogami.

Stoję też przed tym samym problemem, gdy dodaję kontroler UITabBar.

Podziel się swoimi pomysłami.

Dziękuję Ci

Odpowiedzi:

17 dla odpowiedzi nr 1

Hai Znalazłem rozwiązanie mojego problemu

Rozwiązanie: Dla aplikacji, która składa się z kontrolera UINavigation, właśnie stworzyłem kategorię dla klasy kontrolera UINavigation i zdefiniowałem te metody

-(BOOL) shouldAutorotate{
return YES;
}

-(NSUInteger) supportedInterfaceOrientations{

return UIInterfaceOrientationMaskAll;
}

Po dodaniu tej opcji cała orientacja była obsługiwana w mojej aplikacji.

To samo zrobiłem dla UITabBar Controller. To też działało dla mnie, tworząc kategorię dla UITabBar Controller.

Dziękuję Ci.


1 dla odpowiedzi nr 2

Aplikacje telefoniczne tradycyjnie nie obsługują do góry nogami (dlaczego trzymasz telefon do góry nogami?) - domyślny projekt będzie obsługiwał portrety i obie opcje krajobrazowe, ale nie odwrotnie.

Zmień to w przeglądarce informacji o projekcie w Xcode i powinieneś być w porządku. Jest wizualna reprezentacja obsługiwanych orientacji, a do góry nogami zostaną odznaczone.


0 dla odpowiedzi № 3

Myślę, że rozwiązanie NSUserDefault jest niekompletne:

Z: https://developer.apple.com/library/ios/qa/qa1688/_index.html

Uwaga: Zawsze powinieneś preferować podklasowanie do kategorii, kiedy modyfikowanie zachowania rotacyjnego dla klas UIKit, takich jak Sterownik UINavigationController. Ponieważ inne klasy mogą zależeć od istniejące zachowanie kontrolerów widoku kontenera UIKit, zmiany wprowadzona przez kategorię może spowodować nieoczekiwane zachowanie.

Myślę więc, że najlepszym rozwiązaniem jest utworzenie podklasy i dodanie:

-(BOOL) shouldAutorotate{
return YES;
}

-(NSUInteger) supportedInterfaceOrientations{

return UIInterfaceOrientationMaskAll;
}