how to use UIImagePickerController in an app which support Landscape orientation only in iOS-6?

隐身守侯 提交于 2019-12-02 00:05:24

问题


I am developing an app which supports Landscape orientation only. It uses an UIImagePickerController to pick images and/or videos from the library. App is functioning fine in iOS-5 or before but it gets crashed when I try to present image picker controller.It gives the following message after crashing:

* Terminating app due to uncaught exception 'UIApplicationInvalidInterfaceOrientation', reason: 'Supported orientations has no common orientation with the application, and shouldAutorotate is returning YES'


回答1:


As @rocky said you have to add Potrait mode to your application to use UIImagePickerController Like this

or add this to your landscape only app delegate class
- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{
    return UIInterfaceOrientationMaskAll;
}

and from Mr.Daniel's Answer i found a nice solution for your Landscape only App, as you need to support only landscape to your application, you just need to add a category for UINavigationController like this

@implementation UINavigationController (LandscapeOnly)

- (NSUInteger) supportedInterfaceOrientations{
    return UIInterfaceOrientationMaskLandscape;
}
@end

and add this to your viewControllers, it works for me.




回答2:


From UIImagePickerController documentation:

Important: The UIImagePickerController class supports portrait mode only. This class is intended to be used as-is and does not support subclassing. The view hierarchy for this class is private and must not be modified, with one exception. You can assign a custom view to the cameraOverlayView property and use that view to present additional information or manage the interactions between the camera interface and your code.

You will have to add Portrait mode to your Support interface orientations if you want to use this controller.



来源:https://stackoverflow.com/questions/12859771/how-to-use-uiimagepickercontroller-in-an-app-which-support-landscape-orientation

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!