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 1Hai 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;
}