В своем приложении для iPhone я настраиваю различные виды от портрета до пейзажа. Это прекрасно работает, если пользователь делает Портрет -> Пейзаж -> Портрет -> Пейзаж (как я делаю, немного переворачивая представления).
Однако, если пользователь переходит из Portait -> Portrait up to down, или Landscape Left -> Landscape Right, мой код не работает.
Могу ли я обнаружить 180 сальто и проигнорировать его? Я попробовал следующее:
-(void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
if ((fromInterfaceOrientation == UIInterfaceOrientationPortrait) &&
(UIDeviceOrientationIsPortrait(self.interfaceOrientation))
{
}
else if ((fromInterfaceOrientation == UIInterfaceOrientationLandscapeLeft) ||
(fromInterfaceOrientation == UIInterfaceOrientationLandscapeRight) &&
(UIDeviceOrientationIsLandscape(self.interfaceOrientation)))
{
}
else
{
// Do something - it didn't flip 180.
}
}