1

I have recently released an app on the app store and when developing it, on iOS 5, autorotate was working fine and as I wanted it to. When it was released on the app store I then downloaded it to make sure the version was working correctly, but this time with iOS 6, and the autorotate is all messed up.

After some searching, I found that they deprecated the shouldAutorotateToInterfaceOrientation function. So I tried using the new supportedInterfaceOrientations or shouldAutorotate with no luck whatsoever. Does anyone know how to fix this so that my rotates works properly. I want specific screens to only be in portrait and some to be able to do both landscape and portait, and this worked fine with shouldAutorotateToInterfaceOrientation, I need a new method that will work in iOS 6.

Thanks for any help in advance!

Charles
  • 50,943
  • 13
  • 104
  • 142
MZimmerman6
  • 8,445
  • 10
  • 40
  • 70
  • You should have had luck though, are you sure you're returning the right values? Be careful you shouldn't use UIInterfaceOrientationLandscape/Portrait, but UIInterfaceOrientationMaskLandscapeRight and those available from iOS 6 on. – Alejandro Benito-Santos Sep 28 '12 at 16:32
  • This is a common problem with iOS 6, and I'm not sure anyone has fully figured it out. – Hot Licks Sep 28 '12 at 16:33
  • I have not tried with the mask version of uiinterface, I will try that and give an update soon – MZimmerman6 Sep 28 '12 at 18:24

1 Answers1

5

In your app delegate, are you adding your navigation controller's view as a subview in self.window? If so, I found that this did not work correctly in iOS version 6. You should instead set the self.window root view controller. Here are some more specifics:

http://www.dosomethinghere.com/2012/09/24/the-app-delegates-uiwindow-is-finicky/

BP.
  • 10,033
  • 4
  • 34
  • 53