I have an app that fully support rotation. I am modally adding a UIImagePickerController
for which there is no support for UIInterfaceOrientationLandscape
and I cannot get the controller to stay in portrait.
In other words, I need to disable rotation for the UIImagePickerController
so it stays in portrait, without removing rotation for the rest of my app. this seems basic, but I can't seem to locate it. How can I prevent this rotation?
UPDATE
As suggested, I tried subclassing with the following code:
@interface UAImagePickerController : UIImagePickerController {
}
@end
@implementation UAImagePickerController
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {
return UIDeviceOrientationIsPortrait(toInterfaceOrientation);
}
@end
The line is not being hit at all with a breakpoint… i think there must be something funky about the UIImagePickerView
Subclass
UIImagePickerController
and have that new class implementshouldAutorotateToInterfaceOrientation:
to make it rotate to portrait only, something like this:I created my UIImagePickerController inside a UIViewController with the respective shouldAutorotateToInterfaceOrientation method implemented and presented it like this
Hope that helps.
Just drop this in above your ViewControllers @implementation block (in the .m file)
You should override _isSupportedInterfaceOrientation:, and not the shouldAutorotateToInterfaceOrientation:
iPad 2 UIImagePickerController camera auto-rotation driving me mad!