Try this way....
As per Apple Document, ImagePicker Controller never Rotate in Landscape mode. You have to use in Potrait Mode only.
For disable Landscape mode only for ImagePicker Controller follow below code.
In your ViewController.m
Make the SubClass(NonRotatingUIImagePickerController) of Image Picker Controller
@interface NonRotatingUIImagePickerController : UIImagePickerController
@end
@implementation NonRotatingUIImagePickerController
// Disable Landscape mode.
- (BOOL)shouldAutorotate
{
return NO;
}
@end
Use as follow
UIImagePickerController* picker = [[NonRotatingUIImagePickerController alloc] init];
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
picker.delegate = self;
etc.... Just as Default ImagePicker Controller
This is working for me & Let me know if you have any Problem.
补充,需要再AppDelegate下面添加如下代码:
- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window {
return UIInterfaceOrientationMaskAll;
}