views:

103

answers:

1

I have an an iphone app and am using shouldAutorotateToInterfaceOrientation to determine when to autorotate. On the iphone, I specify that UIInterfaceOrientationPortrait is the only allowed orientation; On the iPad, I just return YES (ie all allowed), like so:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{
 if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) //also tried using [[UIDevice currentDevice] userInterfaceIdiom] to no avail
  return YES; //doesn't get here
 return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

This is in every view controller of the tab bar. When I NSLog() the [[UIDevice currentDevice] userInterfaceIdiom], it returns 0 (or UIUserInterfaceIdiomPhone).

Does the iPad simulator always return UIUserInterfaceIdiomPhone?

A: 

I think your answer is here: http://stackoverflow.com/questions/3167740/does-ui-user-interface-idiom-work-with-targeted-device-family

Kristopher Johnson
Thanks for the link - several searches didn't find it.
Felixs