I have updated my Xcode to 4.5 , I have implemented the orientation methods as below
-(BOOL)shouldAutorotate{
return YES;
}
-(NSUInteger)supported
Apple does not call the shouldAutorotatetoInterfaceOrientation call in IOS 6.0 unless you tell the main window which view controller to send it to.
I got rotation to work in my app by setting the window.rootViewController to the top level view controller of my app in
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
...
window.rootViewController = topLevelViewController;
...
}
The iPhone version of my app only supports the two portrait orientations, so my top iPhone view controller required a new method:
- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait |
UIInterfaceOrientationMaskPortraitUpsideDown;
}
here is a discussion on Buzz Touch.
Apple has deprecated shouldautorate method from ios6 use these methods instead
- (BOOL)shouldAutorotate NS_AVAILABLE_IOS(6_0);
- (NSUInteger)supportedInterfaceOrientations NS_AVAILABLE_IOS(6_0);
// Returns interface orientation masks.
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation NS_AVAILABLE_IOS(6_0);