5

mam nadzieję, że wszystko będzie dobrze i jak najlepiej.Ulepszanie iPhone'a upSideDown nie działa w systemie iOS 6?

Dostaję problem w upSideDown Orientation w moim iOS 6, podczas gdy myślę, że robię wszystko idealnie, ale nie wiem, dlaczego to nie działa dla mnie. Dzielę się z wami moim problemem, aby uzyskać jakieś rozwiązania.

co zrobiłem do tej pory:

a) W zakładce Podsumowanie projektu Xcode, mam włączone wszystkie 4 kierunki.

b) Dodałem fragment kodu (napisany poniżej) we wszystkich moich klasach kontrolerów.

-(BOOL)shouldAutorotate 
{ 
    return YES; 
} 
-(NSInteger)supportedInterfaceOrientations 
{ 
    return UIInterfaceOrientationMaskAll; 
} 

ale nadal upSideDown Orientation nie działa

Dzięki w oczekiwaniu.

Odpowiedz

8

Znalazłem rozwiązanie.

Musimy utworzyć osobną klasę typu UINavigation Controller. W .m pliku dodaj następujące metody

// Deprecated in iOS6, still needed for iOS5 support. 
// --- 

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    // Return YES for supported orientations 
    // return (interfaceOrientation == UIInterfaceOrientationPortrait); 
    return YES; 
} 

// iOS6 support 
// --- 
- (BOOL)shouldAutorotate 
{ 
    return YES; 
} 

-(NSUInteger)supportedInterfaceOrientations{ 
    return UIInterfaceOrientationMaskAll; 
} 

Teraz przypisać ten nowo utworzony klasy do swojej Navigation Controller w scenorys. Dodaj również plik .m tej klasy w "Projekt -> Ustawienia kompilacji -> Źródła kompilacji". Uruchom projekt, który będzie obsługiwał i realizował wszystkie orientacje, w tym upSideDown.

Mam nadzieję, że pomoże wam wszystkim.

Pozdrowienia

+0

Alternatywą jest stworzenie kategorii na 'UINavigationController' jak zrobić tutaj: http://stackoverflow.com/a/16052448/211292 – ThomasW

+0

Muszę go tylko dla iPhone z iOS 7 wykryć PortraitOrientationUpSideDown. – Beto