Friday, January 18, 2013

Fixed Auto Rotate Issue in iOS6

In iOS6 "shouldAutorotateToInterfaceOrientation" method does not call but it is work fine in iOS 5.0 or 5.1. If you have this problem, just add this code to the AppDelegate.m class.

#pragma mark -
#pragma mark Rotation support

    // Ensure that the view controller supports rotation 
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    return YES;

- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{
//    Here just add Orientation that you want.
    NSInteger orientationMask = 0;
    if ([self shouldAutorotateToInterfaceOrientation: UIInterfaceOrientationLandscapeLeft])
        orientationMask |= UIInterfaceOrientationMaskLandscapeLeft;
    if ([self shouldAutorotateToInterfaceOrientation: UIInterfaceOrientationLandscapeRight])
        orientationMask |= UIInterfaceOrientationMaskLandscapeRight;
    if ([self shouldAutorotateToInterfaceOrientation: UIInterfaceOrientationPortrait])
        orientationMask |= UIInterfaceOrientationMaskPortrait;
    if ([self shouldAutorotateToInterfaceOrientation: UIInterfaceOrientationPortraitUpsideDown])
        orientationMask |= UIInterfaceOrientationMaskPortraitUpsideDown;
    return orientationMask;

And also make sure to set Orientation in info.plist

No comments:

Post a Comment

Add your comment