iOS 7仅限横向应用程序无法访问照片库

sle*_*rfx 4 iphone objective-c ios ios7

我有一个只有风景的应用程序,每当我访问照片库时,应用程序都会崩溃(因为UIImagePickerViewController它试图以纵向模式加载).App在iOS 5和6中运行良好.

我收到了以下错误,

因未捕获的异常而终止应用程序' UIApplicationInvalidInterfaceOrientation',原因:'支持的方向与应用程序没有共同的方向,并且shouldAutorotate正在返回YES'

*** First throw call stack:
(0x2ff7ae8b 0x3a2746c7 0x2ff7adcd 0x3277337d 0x3277a4c5 0x3277a47b 0x327795b3 0x326fff3d 0x326ffd19 0x326ff609 0x326ff467 0x3270c153 0x3270bbd3 0x327b7f67 0x327b7d83 0x327afdf3 0x327af279 0x327aefe9 0x327aef7d 0x32700533 0x32387f43 0x32383767 0x323835f9 0x3238300d 0x32382e1f 0x3237cb4d 0x2ff45f71 0x2ff438ff 0x2ff43c4b 0x2feae541 0x2feae323 0x34be52eb 0x327651e5 0x8c439 0x8c3c0)

`libc++abi.dylib:` terminating with uncaught exception of type `NSException`
Run Code Online (Sandbox Code Playgroud)

当我启用纵向模式时,一切正常,但我不想启用纵向模式.这是什么解决方法?

lan*_*nbo 8

是的,我在应用程序中有类似的问题

您可以为应用添加纵向模式支持,但限制所有其他视图仅支持横向,模式,然后图像选择器将起作用

UIImagePickerViewController 仅适用于纵向模式

限制其他视图仅支持横向模式,覆盖 - (NSUInteger)supportedInterfaceOrientations在视图控制器中

- (NSUInteger)supportedInterfaceOrientations{
    return UIInterfaceOrientationMaskLandscape;
}
Run Code Online (Sandbox Code Playgroud)

  • 在我的情况下,这不起作用,因为我的根视图控制器是导航控制器.所以我不得不使用这些方法对导航控制器进行子类化.然后它工作了!谢谢!:) (3认同)