Member-only story

Getting Device Orientation in iOS

Mr.Javed Multani
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];}

--

--

Mr.Javed Multani
Mr.Javed Multani

Written by Mr.Javed Multani

Software Engineer | Certified ScrumMaster® (CSM) | UX Researcher | Youtuber | Tech Writer

No responses yet