Search code examples
iosiphoneios7

Device Orientation not getting.


Currently i am working on IOS 7 and my problem is i am not able to get orientation of current device in ViewDidLoad method.

- (BOOL)shouldAutorotate
{
    return YES;
}

- (NSUInteger)supportedInterfaceOrientations
{
    return (UIInterfaceOrientationMaskAll);

}
- (void)viewDidLoad
{
    [super viewDidLoad];

    if (UIDeviceOrientationIsLandscape([UIDevice currentDevice].orientation)){
        NSLog(@"i am in landscape mode");
    }
    if (UIDeviceOrientationIsPortrait([UIDevice currentDevice].orientation)){
        NSLog(@"i am in portrait mode");
    }
}

I write this code in my FirstViewController.m,and when i run my application no condition become true out of them, can anybody help me why no condition become true even i run my application in portrait mode. Thanks in advance.


Solution

  • Try this.

    UIInterfaceOrientation orientation = [UIApplication sharedApplication].statusBarOrientation;
    
    if(UIInterfaceOrientationIsLandscape(orientation)) {
        //Landscape mode
    }
    else
    {
        //Portrait mode
    }
    

    EDIT : Use UIInterfaceOrientationIsLandscape and UIInterfaceOrientationIsPortrait method to find orientation mode