I have a really strange orientation issue. I have a sequence of view controllers under a navigation controller. One of them can take any orientation. When I'm leaving the orientation I have to use setOrientation. The funny thing is the rotation takes place as the transition occurs to the next page. This isn't normally a problem except for a single case -- from UIDeviceOrientationPortraitUpsideDown to normal causes all my top mounted items to migrate up about an eighth of a page.
There are three ways I think I could fix it:
- Somehow separate the setOrientation from my pushViewController call (so the new view doesn't need to flip)
- Set my items to be anchored at the top of the device in a better manner (I checked and they appear to be)
- Reset the Y dimension on the elements on the ViewDidLoad method but that seems wrong.
Here's my push the new view onto the stack code:
[[UIDevice currentDevice] setOrientation:UIInterfaceOrientationPortrait];
ResultSelect_ViewController *resultSelect = [[ResultSelect_ViewController alloc] initWithNibName:@"ResultSelect" bundle:nil];
[self.navigationController pushViewController:resultSelect animated:YES];
Anybody else find it odd that the simulator doesn't allow you to test the upside down to portrait behavior?