Docs:

UIInterfaceOrientationMaskLandscape

The view controller supports both landscape-left and landscape-right
interface orientation.

Appears to be what I want..

Do you mean in the -supportedInterfaceOrientations or
-preferredInterfaceOrientationForPresentation?

Michael





On Mon, Feb 4, 2013 at 5:04 AM, Louis Romero <arc...@gmail.com> wrote:

> Aren't you misinterpreting what UIInterfaceOrientation*Mask* is?
>
> 2013/2/4 Mazzaroth M. <taomaili...@gmail.com>
>
>> I am getting this error in a universal iOS 6.0 sdk app:
>>
>>
>> 2013-02-03 23:41:57.078 scrappling[20350:c07] *** Terminating app due to
>> uncaught exception 'UIApplicationInvalidInterfaceOrientation', reason:
>> 'preferredInterfaceOrientationForPresentation must return a supported
>> interface orientation!'
>>
>> This occurs in the iPad 6.0 simulator, simulating a non-retina ipad.
>>
>> The initial view controller of the app is a UITabViewController subclass.
>> The storyboard for the app looks like this:
>>
>>
>> http://dl.dropbox.com/u/597030/debugging/Screen%20Shot%202013-02-03%20at%2011.50.49%20PM.png
>>
>> This is how I reproduce the crash:
>>
>> 1)select an item in the master tableviewcontroller which calls [self
>> presentMoviePlayerViewControllerAnimated:_playerVC];
>> 2)_playerVC is a MPMoviePlayerViewController subclass that presents a
>> video
>> fullscreen.
>> 3)the moment I tap "Done" on the video, Cocoa Touch fires
>> [MMATabBarController preferredInterfaceOrientationForPresentation] and
>> returns UIInterfaceOrientationMaskLandscape:
>>
>> MMATabBarController.m:
>>
>> ~snip~
>> -(BOOL)shouldAutorotate
>> {
>>   return YES;
>> }
>>
>> -(NSUInteger)supportedInterfaceOrientations
>> {
>>
>>   if([[UIDevice currentDevice] userInterfaceIdiom] ==
>> UIUserInterfaceIdiomPhone)
>>   {
>>     return UIInterfaceOrientationMaskPortrait;
>>   }
>>   else
>>   {
>>     return UIInterfaceOrientationMaskLandscape;
>>   }
>> }
>>
>> - (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
>> {
>>
>> //  return UIInterfaceOrientationMaskAll;
>>   if([[UIDevice currentDevice] userInterfaceIdiom] ==
>> UIUserInterfaceIdiomPhone)
>>   {
>>     return UIInterfaceOrientationMaskPortrait;
>>   }
>>   else
>>   {
>>     return UIInterfaceOrientationMaskLandscape;
>>   }
>> }
>> ~snip~
>>
>> 4)I've confirmed UIInterfaceOrientationMaskLandscape gets returned from
>> -preferredInterfaceOrientationForPresentation
>> 5)I've confirmed UIInterfaceOrientationMaskLandscape gets returned from
>> -supportedInterfaceOrientations
>>
>> 6)Crash!
>>
>>
>> ~~~~~~~~
>>
>>
>> What I don't understand is why this message is occurring because I have
>> confirmed that at startup [MMATabBarController
>> -supportedInterfaceOrientations] returns
>> UIInterfaceOrientationMaskLandscape. Also my info.plist looks like this:
>>
>>   <key>UISupportedInterfaceOrientations~ipad</key>
>>     <array>
>>         <string>UIInterfaceOrientationLandscapeLeft</string>
>>         <string>UIInterfaceOrientationLandscapeRight</string>
>>     </array>
>>
>> Attempted workarounds:
>>
>> 1)I had -preferredInterfaceOrientationForPresentation return
>> UIInterfaceOrientationMaskAll.
>>
>> 2) I added the application:supportedInterfaceOrientationsForWindow:
>> delegate method to the app delegate. I've confirmed that this gets fired
>> and UIInterfaceOrientationMaskLandscape gets returned:
>>
>>
>> -(NSUInteger)application:(UIApplication *)application
>> supportedInterfaceOrientationsForWindow:(UIWindow *)window
>> {
>>   if([[UIDevice currentDevice] userInterfaceIdiom] ==
>> UIUserInterfaceIdiomPhone)
>>   {
>>     return UIInterfaceOrientationMaskPortrait;
>>   }
>>   else
>>   {
>>     return UIInterfaceOrientationMaskLandscape;
>>   }
>> }
>>
>> 3) I subclassed UINavigationController and I've confirmed that on app
>> startup UIInterfaceOrientationMaskLandscape is returned. The
>> UINavigationController looks like this:
>>
>> MMANavigationController.m:
>>
>> ~snip~
>> -(BOOL)shouldAutorotate
>> {
>>   return YES;
>> }
>>
>> -(NSUInteger)supportedInterfaceOrientations
>> {
>>
>>   if([[UIDevice currentDevice] userInterfaceIdiom] ==
>> UIUserInterfaceIdiomPhone)
>>   {
>>     return UIInterfaceOrientationMaskPortrait;
>>   }
>>   else
>>   {
>>     return UIInterfaceOrientationMaskLandscape;
>>   }
>> }
>>
>> - (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
>> {
>>
>> //  return UIInterfaceOrientationMaskAll;
>>   if([[UIDevice currentDevice] userInterfaceIdiom] ==
>> UIUserInterfaceIdiomPhone)
>>   {
>>     return UIInterfaceOrientationMaskPortrait;
>>   }
>>   else
>>   {
>>     return UIInterfaceOrientationMaskLandscape;
>>   }
>> }
>> ~snip~
>>
>> Any suggestions on what may be going wrong?
>>
>> Michael
>> _______________________________________________
>>
>> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
>>
>> Please do not post admin requests or moderator comments to the list.
>> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>>
>> Help/Unsubscribe/Update your Subscription:
>> https://lists.apple.com/mailman/options/cocoa-dev/arcank%40gmail.com
>>
>> This email sent to arc...@gmail.com
>>
>
>
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to