3

我正在開發一個只支持橫向方向的應用程序。它使用UIImagePickerController從圖書館中挑選圖像和/或視頻。應用程序運行正常罰款的iOS-5或之前但是當我嘗試呈現圖像拾取controller.It它就會崩潰崩潰後,給出了以下消息:如何在僅支持iOS-6橫向方向的應用程序中使用UIImagePickerController?

*終止應用程序由於未捕獲的異常「UIApplicationInvalidInterfaceOrientation」,究其原因: 「支撐取向與應用程序中沒有共同的方向,並shouldAutorotate將返回YES」

+0

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

回答

2

從文檔的UIImagePickerController:

重要:UIImagePickerController類僅支持肖像模式。此類旨在按原樣使用,不支持子類。這個類的視圖層次是私有的,不能修改,只有一個例外。您可以將自定義視圖分配給cameraOverlayView屬性,並使用該視圖呈現附加信息或管理攝像頭界面和代碼之間的交互。

如果您想使用此控制器,您將不得不將肖像模式添加到您的支持界面方向。

8

正如@rocky說你要Potrait模式添加到您的應用程序使用UIImagePickerController像這樣

Supported Interface Orientation in Info.plist 或 添加到您的風景唯一的應用程序委託類從Mr.Daniel's Answer

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

和我爲您的橫向應用程序找到了一個很好的解決方案, ,因爲您只需要支持橫向到您的應用程序,您只需要爲此類添加UINavigationController的類別,如

@implementation UINavigationController (LandscapeOnly) 

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

並將其添加到您的viewControllers,它適用於我。

+0

你知道如果仍然適用於iOS 7嗎?我嘗試這樣做,但UIImagePickerCtrler不顯示在橫向模式。 – Beto

+0

我到目前爲止還沒有在iOS 7中測試過..會盡快讓你知道@NorbertoBenavides – Bala

+0

@BetoBens請看看這個鏈接[Landscape App中的圖像選擇器](https://devforums.apple.com/message/ 890895#890895),可能會幫助你 – Bala

相關問題