objective-c - UIImagePickerController(使用相机作为源)在 iPad2 上自动旋转,我如何停止它?

标签 objective-c uiimagepickercontroller landscape autorotate ipad-2

我正在尝试编写一个具有某些相机功能的应用程序,并且我使用叠加 View 用图像装饰它。

这就是我实现应用程序的方式: 我将 UIImagePickerController 用于用户接收相机的内容,并将 UIImageView 作为 subview 添加到 cameraOverlayView 上,这样它的工作方式如下:
(图片位于 http://www.manna-soft.com/test/uploads/UIImagePickerView-portrait.jpg)

在 iPad2 到位之前,它工作正常......它像这样自动旋转并破坏布局:
(图片位于 http://www.manna-soft.com/test/uploads/UIImagePickerView-landscape.jpg)

UIImagePickerController 从不在 iphone、ipod touch 或原始 iPad 上旋转,但在 iPad2 上会旋转。 UIImagePickerContrller 的类引用说它“仅支持纵向模式”,但发生的事情是它像那样自动旋转....
有什么方法可以禁用自动旋转吗?
我尝试在呈现 UIImagePickerController 的 View Controller 的方法 shouldAutorotateToInterfaceOrientation: 中返回 NO,但它仍然旋转。

提前致谢。

最佳答案

覆盖 View 可以添加到窗口,然后window.superview可以设置为cameraOverlayView。 在关闭 ModalController 时,覆盖 View 可以从窗口中删除。

根据您应用的结构,此解决方案的应用可能有些棘手。

YourAppDelegate *appDelegate = (YourAppDelegate *) [[UIApplication sharedApplication] delegate];
[appDelegate.window addSubview:overlayView];
imagePickerController.cameraOverlayView = appDelegate.window.superview;


//When dismissing the UIImagePicker
 [self dismissModalViewControllerAnimated:YES];
 [OverlayView removeFromSuperview]; 

关于objective-c - UIImagePickerController(使用相机作为源)在 iPad2 上自动旋转,我如何停止它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5700219/

相关文章:

iPhone 如何显示我的文档目录中的照片?

ios - iOS 8.4 中裁剪 UIImage 的并发症

iphone - 基于旋转更改 XIB 文件的最佳方法?

iOS Swift 3 UIImagePickerController 崩溃

delphi - Rave Reports Delphi 7 中的横向打印

加载新 Controller 时,iPhone 横向模式切换为纵向模式

iphone - 如何检测应用程序是否在模拟器或设备上运行

objective-c - NSMutableArray 的对象在 removeAllObjects 之后不调用 dealloc 方法

iphone - 将 UIView 添加到 UICollectionviewcell

iphone - 当在应用商店状态提交应用时是无效二进制?