2011-07-11 8 views
5

Pozwól mi wyjaśnić, co mam na myśli, gdy mówię, że chcę również obrócić mój podgląd. Umieściłem wiele obrazów, żeby się oczyścić. Może to wyglądać bardzo, ale tak nie jest. Chciałem tylko być jasne.Uczyń również podgląd subskoku, gdy urządzenie jest obrócone na iPhonie/iPadzie.

W pliku nib, nad którym obecnie pracuję, mam przycisk UIView i.

enter image description here

UIView, że stworzył interfejs Builder jest połączony z IBOutlet nazwie ViewMain:

enter image description here

i przycisk wykonuje następującą metodę: enter image description here

i co ta metoda polega na tym, że umieszcza widok z innego pliku nib w kontrolerze UIView, który utworzyłem w interfejsie interfejsu r. Plik stalówka że ja faktycznie umieszczenie jest:

enter image description here

Właśnie umieszczone wyrywkowe kontrole, aby lepiej zilustrować mój punkt widzenia.

więc wszystko tak daleko jest super (widok z anotherViewController pokazuje się na ViewMain gdy użytkownik naciśnie przycisk)

enter image description here

enter image description here

wszystko wygląda świetnie, ale Zauważ co się dzieje kiedy obrócić Moje urządzenie:

enter image description here

Chciałbym również, aby mój podgląd (anotherViewController.view) również się powiódł. Nie mam nic przeciwko, jeśli jest większy niż ViewMain, ponieważ mogę mieć przezroczyste tło. Po prostu muszę go również obrócić. Jak mogę to zrobić?

+0

Chcesz go obrócić? Czy chcesz, aby widok zmienił wymiar, aby pasował do nowego rozmiaru? –

+0

, aby dopasować wymiary widoku zewnętrznego/głównego ... To samo dzieje się po obróceniu UIView, który nie ma żadnych subviews. Chcę, żeby zachowywał się jak uiview, który ma białe tło. Zmiana rozmiaru może być rozwiązaniem. Nie wiem jak to zrobić ... –

+1

powodem tego, że nie jest to obracanie, jest to, że viewController nie znajduje się w hierarchii kontrolera widoku, więc nie otrzymuje powiadomień o rotacji. jest objęty sesją 102 lub 104 wwdc, jeśli masz dostęp do filmów (http://developer.apple.com/videos/wwdc/2011/) – MCannon

Odpowiedz

3

Definiowanie shouldAutorotateToInterfaceOrientation: w was UIViewController tak, że zawsze zwraca TAK:

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    return YES; 
} 

Look here więcej szczegółów.

Należy również zadbać o prawidłowe zdefiniowanie zachowania automatycznego autorezjowania widoku i subskrybentów, aby wszystko działało prawidłowo podczas autorotowania.

EDIT:

ustawić właściwość AUTORESIZE dla widoku interfejsu Builder wybierz widok następnie przejść do okienka „rozmiar” w oknie informacyjnym i ustaw „autosizing” jak na obrazku poniżej.

enter image description here

+0

Ta metoda jest domyślnie włączona i nadal nie obraca się ... Plus ta metoda jest we wszystkich moich plikach .m. Może muszę wywołać tę metodę z widoku głównego podczas wykonywania kodu z przycisku. –

+0

Czy możesz dodać jeszcze jedno zdjęcie z układem, który chcesz uzyskać? – sergio

+0

Nie wiem jeszcze, ponieważ planuję dodać kilka widoków w zależności od tego, jaki przycisk użytkownik naciśnie. Ale ostatnia rzecz, którą powiedziałeś, brzmi jak świetny pomysł. może po prostu muszę zmienić rozmiar na wymiary uiview root, ten, który ma biały na ostatnim obrazku, który opublikowałem sergio ... –