2

我在使用 iOS 8.1 的 iPad 上遇到 UIImagePickerController 的问题。当我不使用放大相机控制时,一切正常。如果 iPad 以横向模式定向,带有相机预览的覆盖视图将移动到屏幕的一侧并变为 768px 宽度。在纵向模式下,一切正常。

我使用标准的 Apple 示例 PhotoPicker 来显示相机控制。标准示例也有同样的问题。

我的 UIImagePickerController 初始化:

var imagePicker = new UIImagePickerController();

imagePicker.SourceType = UIImagePickerControllerSourceType.Camera;
imagePicker.AllowsEditing = false;
imagePicker.ShowsCameraControls = false;

imagePicker.CameraOverlayView = this.overlayView;
imagePicker.View.AutoresizingMask = this.View.AutoresizingMask;
this.overlayView.Frame = imagePicker.View.Bounds; // overlayView - root view in ViewController that presents camera

this.View.AddSubview(imagePicker.View);
  1. ![放大前] http://i59.tinypic.com/2ducf37.jpg

  2. ![放大后] http://i59.tinypic.com/29b0adw.png

你有什么想法可以解决吗?我花了很多时间谷歌搜索,但没有找到解决方案。我在 xib 中尝试了 Autoresize 模式,我也尝试了 Autoresizing 掩码,但它没有帮助。

4

1 回答 1

0

我也遇到了同样的问题。我不知道这是否对您的特殊情况有所帮助,但是在进行了一些挖掘之后,我发现Apple 官方文档明确指出 UIImagePickerController 类支持纵向模式。这可以解释为什么相机预览不希望在方向更改后调整自身大小。

于 2014-10-30T18:47:11.200 回答