[UIDevice currentDevice].orientation
возвращает UIDeviceOrientation
:
Значение свойства является константой, которая указывает текущий
ориентация устройства. Это значение представляет физическое
ориентация устройства и может отличаться от текущей
ориентация пользовательского интерфейса вашего приложения.
Ваша функция getWidthAndHeightForOrientation
принимает параметр UIInterfaceOrientation
:
Ориентация пользовательского интерфейса приложения.
Эти типы, хотя и связаны, не одно и то же. Вы можете получить доступ к текущей ориентации интерфейса из любого контроллера вида, используя self.interfaceOrientation
. UIInterfaceOrientation
имеет 4 возможных значения, а UIDeviceOrientation
имеет 9:
typedef NS_ENUM(NSInteger, UIDeviceOrientation) {
UIDeviceOrientationUnknown,
UIDeviceOrientationPortrait, // Device oriented vertically, home button on the bottom
UIDeviceOrientationPortraitUpsideDown, // Device oriented vertically, home button on the top
UIDeviceOrientationLandscapeLeft, // Device oriented horizontally, home button on the right
UIDeviceOrientationLandscapeRight, // Device oriented horizontally, home button on the left
UIDeviceOrientationFaceUp, // Device oriented flat, face up
UIDeviceOrientationFaceDown // Device oriented flat, face down
};
// Note that UIInterfaceOrientationLandscapeLeft is equal to UIDeviceOrientationLandscapeRight (and vice versa).
// This is because rotating the device to the left requires rotating the content to the right.
typedef NS_ENUM(NSInteger, UIInterfaceOrientation) {
UIInterfaceOrientationPortrait = UIDeviceOrientationPortrait,
UIInterfaceOrientationPortraitUpsideDown = UIDeviceOrientationPortraitUpsideDown,
UIInterfaceOrientationLandscapeLeft = UIDeviceOrientationLandscapeRight,
UIInterfaceOrientationLandscapeRight = UIDeviceOrientationLandscapeLeft
};