Moja aplikacja ma jeden kontroler widoku, który nie może zmienić orientacji. Pomyśl o tym jako o polu gry, które musi pozostać niezmienione.Wymuszenie użycia arkusza UIActionSheet w określonej orientacji
Teraz chcę wstawić arkusz UIActionSheet, ale biorąc pod uwagę sposób, w jaki użytkownik trzyma urządzenie, chciałbym dopasować arkusz do orientacji.
Wygląda na to, że UIActionSheet, w przeciwieństwie do, powiedzmy, MFComposerViewController, nie otrzymuje orientacji z paska stanu, który obracam w oparciu o orientację, ale otrzymuje orientację od kontrolera widoku. Innymi słowy, UIActionSheet pojawia się w orientacji pionowej, niezależnie od sposobu trzymania urządzenia.
Próbowałem:
CGAffineTransform t = CGAffineTransformMakeRotation(lastUIAngle);
[actionSheet setTransform:t];
if (UIInterfaceOrientationIsLandscape(lastOrientation))
actionSheet.frame = CGRectMake(0, 0, 480, 320);
else
actionSheet.frame = CGRectMake(0, 0, 320, 480);
actionSheet.center = self.view.center;
I udało się uzyskać właściwą orientację, ale otrzymany arkusz działanie pojawia się od strony pionowej i ma takie wymiary, jak gdyby był nadal w orientacji pionowej. Ramka arkusza działania jest obliczana na podstawie liczby przycisków itp.
Czy ktoś zdołał wymusić prawidłowe wyświetlanie arkusza UIActionSheet w określonej orientacji?
(Próbowałem również utworzyć nowy widok, który został przekształcony i miał prawidłowy rozmiar, ale UIActionSheet go zignorował.Następstwem pozostaje utworzenie nowego kontrolera UIViewController, który automatycznie się obraca, a UIActionSheet będzie jego dzieckiem. Oznacza to, że moje pole gry zostanie całkowicie zasłonięte przez nowy kontroler widoku.)
nie działa na mnie w iOS 6 – SpaceDog
Masz rację. iOS 6 zepsuł to. Szukam obejścia. – mahboudz
iOS 6 zepsuł wiele rzeczy, na przykład autorotację, szczególnie jeśli kompilujesz dla 4.x i uruchamiasz go na urządzeniu 6.x.Niektóre aplikacje po prostu nie działają automatycznie zgodnie z oczekiwaniami. Prawdopodobnie problem z łamaniem kodu i ten autorotate stuff ma jakiś związek. – SpaceDog