Member-only story
Getting Device Orientation in iOS
1 min readOct 5, 2020
UIDevice *deviceInfo = [UIDevice currentDevice];
int d = deviceInfo.orientation;
deviceInfo.orientation returns an UIDeviceOrientation value which is shown as below:
UIDeviceOrientationUnknown 0
UIDeviceOrientationPortrait 1
UIDeviceOrientationPortraitUpsideDown 2
UIDeviceOrientationLandscapeLeft 3
UIDeviceOrientationLandscapeRight 4
UIDeviceOrientationFaceUp 5
UIDeviceOrientationFaceDown 6
Listening for device orientation changes in a View Controller:
- (void)viewWillAppear:(BOOL)animated
{[super viewWillAppear:animated];
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
[[NSNotificationCenter defaultCenter] addObserver:self
}-(void)deviceOrientationDidChange
{UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];if (orientation == UIDeviceOrientationPortrait || orientation ==
UIDeviceOrientationPortraitUpsideDown) {[self changedToPortrait]; } else if (orientation == UIDeviceOrientationLandscapeLeft || orientation == UIDeviceOrientationLandscapeRight) {
[self changedToLandscape];}-(void)changedToPortrait
{// Function Body}-(void)changedToLandscape{//Function Body
}
To disable checking for any orientation change:
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
[[UIDevice currentDevice] endGeneratingDeviceOrientationNotifications];}