我正在尝试编写一个具有某些相机功能的应用程序,并且我使用叠加 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/