3

UIPopoverController でカメラを表示する iOS 6 コードは正常に動作しますが、iOS はカメラ ビューをスケーリングしません。以下の画像をご覧ください。任意の提案をいただければ幸いです。

編集

public class NoRotationUIImagePickerController : UIImagePickerController
{
    public override bool ShouldAutorotate ()
    {
        return false;
    }
}

//place imagePicker into a container so that we can control the size of the popover
container = new UIViewController();
container.ContentSizeForViewInPopover = new SizeF(parentViewController.View.Frame.Width, parentViewController.View.Frame.Height);
container.View.AddSubview(_imagePicker.View);

_popOver = new UIPopoverController (container); 

//If no camera is available, return false and do nothing.
if (IsCameraHardwareAvailable())
{
    _imagePicker.Delegate = new PopUpGalleryPickerDelegate (_popOver, _imageSelected);
    _imagePicker.SourceType = UIImagePickerControllerSourceType.Camera;
    _imagePicker.AllowsEditing = false;             
    _imagePicker.MediaTypes = new string[] {"public.image"};

    RectangleF popRectangle = new RectangleF (new PointF(parentViewController.View.Frame.Width/2, parentViewController.View.Frame.Height/2), new SizeF (1, 1));

    _popOver.PresentFromRect(popRectangle, parentViewController.View, 0, true); 
    _imagePicker.View.Frame = container.View.Frame;  //change to frame must come after popover is presented.
}
else
{
    cameraAvailable = false;
}

iOS 6 ビュー iOS 7 ビュー

4

1 に答える 1

1

私がたどり着いた解決策は、ポップオーバー コントローラーを使用する代わりに、カメラを全画面表示にすることでした。

于 2013-10-01T00:24:36.953 に答える