Mam UIViewController obsługujący kilka UIImageViews w widoku głównym. Na dole znajduje się pasek UIToolbar z kilkoma elementami, z którymi można się komunikować.Wykryj obrót interfejsu na UIViewController, nawet jeśli nie jest zdefiniowany w - (NSUInteger) supportedInterfaceOrientations
Teraz, gdy obracam urządzenie, nie chcę, aby kontroler viewController się obracał, ale tylko UIImageViews. Innymi słowy, pasek narzędzi na dole byłby po lewej (lub po prawej), ale obrazki byłyby obracane poprawnie.
Tak więc, za pomocą metod
- (BOOL)shouldAutoRotate {
return YES;
}
połączeniu z
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortrait;
}
i
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
// rotate the image views here
}
dowolny obrót urządzenia nie będą wykonywane, ponieważ tylko jedna orientacja interfejs obsługiwane (UIInterfaceOrientationMaskPortrait
). Ale kiedy dodaję inną orientację interfejsu do obsługi w metodzie supportedInterfaceOrientations
, kontroler widoku również się obróci.
Jak wykryć obrót dla kontrolera widoku, nawet jeśli obsługiwana jest tylko jedna orientacja? Czy istnieje kolejna możliwość obracania UIViews na podstawie zmieniającej się orientacji urządzenia?
Dzięki za pomoc!
Znaleźliśmy odpowiedź - oczywiście - 10 sekund później tutaj: ht tp: //stackoverflow.com/questions/14387735/can-i-observe-when-a-uiviewcontroller-changes-interfaceorientation – uruk