横屏下的ImagePickerController

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;

}

posted on 2014-10-20 13:25  SCaptain  阅读(317)  评论(0编辑  收藏  举报

导航