3

가로 방향 만 지원하는 앱을 개발 중입니다. UIImagePickerController을 사용하여 라이브러리에서 이미지 및/또는 비디오를 선택합니다. 응용 프로그램은 아이폰 OS-5 또는 그 이전에 벌금을 작동하지만 이미지 피커 controller.It을 제시 할 때이 추락됩니다 충돌 후 다음과 같은 메시지를 준다 : 응용 프로그램을 종료iOS-6에서만 가로 방향을 지원하는 앱에서 UIImagePickerController를 사용하는 방법은 무엇입니까?

* 때문에, 이유는 'UIApplicationInvalidInterfaceOrientation'캐치되지 않는 예외 : '지원 방향은 응용 프로그램과 공통 방향이 없으며, shouldAutorotate가 YES 반환'UIImagePickerController를 문서에서

+0

http://stackoverflow.com/questions/20468335/ios7-ipad-landscape-only-app-using-uiimagepickercontroller/20468336#20468336 –

답변

2

을 :

중요 : UIImagePickerController를 클래스는 세로 모드를 지원합니다. 이 클래스는 그대로 사용하도록 (듯이) 설계되어있어 서브 클래스 화를 서포트하지 않습니다. 이 클래스의 뷰 계층 구조는 비공개이며 한 가지 예외를 제외하고는 수정해서는 안됩니다. 사용자 정의보기를 cameraOverlayView 속성에 할당하고 해당보기를 사용하여 추가 정보를 제공하거나 카메라 인터페이스와 코드 간의 상호 작용을 관리 할 수 ​​있습니다.

이 컨트롤러를 사용하려면 지원 인터페이스 방향에 세로 모드를 추가해야합니다.

8

@rocky는

- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{ 
    return UIInterfaceOrientationMaskAll; 
} 

Mr.Daniel's Answer에서 풍경만을 애플 대리자 클래스에이를 추가하려면이

Supported Interface Orientation in Info.plist 또는 처럼 UIImagePickerController를 사용하는 응용 프로그램에 Potrait의 모드를 추가 할 필요가 말했듯이 내가 귀하의 응용 프로그램에 풍경 만 지원해야하므로 가로 전용 응용 프로그램 인 에 대한 좋은 해결책을 찾았 으면 UINavigationController의 범주를 추가해야합니다 (예 :

).
@implementation UINavigationController (LandscapeOnly) 

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

이 항목을 내 ViewController에 추가하면 나에게 적합합니다.

+0

iOS 7에서도 여전히 작동하는지 확인 했습니까? 이 작업을 시도하지만 UIImagePickerCtrler가 가로 모드로 표시되지 않습니다. – Beto

+0

iOS 7에서 지금까지 테스트하지 않았습니다. 최대한 빨리 알려 드리겠습니다 .NorbertoBenavides – Bala

+0

@BetoBens 친절하게도이 링크 [Landscape App의 이미지 선택기] (https://devforums.apple.com/message/)를 참조하십시오. 890895 # 890895) 도움이 될 수도 있습니다. – Bala

관련 문제