UIImagePickerController(使用相机作为源代码)在iPad2上进行自动旋转,我该怎么做呢?

Eri*_*ric 4 landscape objective-c uiimagepickercontroller autorotate ipad-2

我正在尝试使用一些相机功能编写应用程序,并使用叠加视图来装饰图像.

这就是我实现应用程序的方法:我使用UIImagePickerController来向用户提供相机所使用的内容,并将UIImageView作为子视图添加到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呈现的视图控制器的方法shouldAutorotateToInterfaceOrientation中返回NO,但它仍然会旋转.

提前致谢.

Nas*_*ash 5

叠加视图可以添加到窗口中,window.superview可以设置为cameraOverlayView.在关闭ModalController时,可以从窗口中删除叠加视图.

根据应用程序的结构,此解决方案可能有点棘手.

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


//When dismissing the UIImagePicker
 [self dismissModalViewControllerAnimated:YES];
 [OverlayView removeFromSuperview]; 
Run Code Online (Sandbox Code Playgroud)