IOS 横屏中添加UIImagePickerController获取系统图片

原创
2014/03/25 13:04
阅读数 7.5K

1、在完全横屏的应用中(Supported interface orientations只有两个选项Landscape (right home button)和Landscape (left home button))。

2、添加UIImagePickerController来获取系统图片和拍照时崩溃

2014-03-25 10:11:37.697 beethoven-new iOS[1372:60b] *** Terminating app due to uncaught exception 'UIApplicationInvalidInterfaceOrientation', reason: 'Supported orientations has no common orientation with the application, and shouldAutorotate is returning YES'



这是因为 UIImagePickerController默认只支持竖屏的原因。

解决:

添加UIImagePickerController分类LandScapeImagePicker

@interface UIImagePickerController (LandScapeImagePicker)

- (BOOL)shouldAutorotate;
- (NSUInteger)supportedInterfaceOrientations;

@end



#import "UIImagePickerController+LandScapeImagePicker.h"

@implementation UIImagePickerController (LandScapeImagePicker)

- (BOOL)shouldAutorotate {
    return YES;
}

- (NSUInteger)supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskLandscape;
}

@end



在对应位置应用就可以了

展开阅读全文
打赏
1
2 收藏
分享
加载中
李远超博主

引用来自“李远超”的评论

引用来自“JasonBound”的评论

这个可以解决横屏显示的问题,但是有一个点要注意,必须要让工程支持竖屏,也必须要让appLication支持竖屏才可以正常显示

对,你说的对

引用来自“大huihui”的评论

因为我的应用不支持竖屏 这个还是会崩啊
不支持当然会崩了,必须要支持。我想你应该考虑的是整个应用不支持竖屏,但是你真对这个页面一定是要支持的,否则就会崩溃。你可以真对你其他的页面不支持竖屏啊。
2016/03/10 16:53
回复
举报

引用来自“李远超”的评论

引用来自“JasonBound”的评论

这个可以解决横屏显示的问题,但是有一个点要注意,必须要让工程支持竖屏,也必须要让appLication支持竖屏才可以正常显示

对,你说的对
因为我的应用不支持竖屏 这个还是会崩啊
2016/03/10 16:50
回复
举报
李远超博主

引用来自“JasonBound”的评论

这个可以解决横屏显示的问题,但是有一个点要注意,必须要让工程支持竖屏,也必须要让appLication支持竖屏才可以正常显示

对,你说的对
2015/09/09 08:21
回复
举报
这个可以解决横屏显示的问题,但是有一个点要注意,必须要让工程支持竖屏,也必须要让appLication支持竖屏才可以正常显示
2015/09/08 17:19
回复
举报
困扰一天的问题在这里解决了,非常感谢!13
2014/09/04 11:46
回复
举报
更多评论
打赏
5 评论
2 收藏
1
分享
返回顶部
顶部