来自相机的 ios7 相机选择器控制器图像被冻结



我有这个简单的相机视图控制器代码:

UIImagePickerController picker = new UIImagePickerController();
picker.PrefersStatusBarHidden ();
picker.SourceType = UIImagePickerControllerSourceType.Camera;
UIImagePickerControllerCameraDevice dev = picker.CameraDevice;
PresentViewController (picker, false, null);
picker.FinishedPickingMedia += (object sender, UIImagePickerMediaPickedEventArgs e) => BeginInvokeOnMainThread (delegate {DismissViewController (false, null);});

当应用程序启动时,我可以正常拍摄照片,但是当我再次呈现选择器时,会出现相机视图,但显示并冻结了上一张照片的帧(图像(。 如果我在图像周围移动我的设备不会改变。换句话说,我可以使用相机一次,但我不能使用两次。我做错了什么?在iOS6设备上,它可以完美运行。

制作一个pickerDelegate类对我来说是有诀窍的。您只需在构造函数中传递当前 VC,即可在 VC 中处理图像。

PickerDelegate

private class pickerDelegate : UIImagePickerControllerDelegate
        {
            private yourVC _vc;
            public pickerDelegate (yourVC controller) : base ()
            {
                _vc = controller;
            }
            public override void FinishedPickingImage (UIImagePickerController picker, UIImage image, NSDictionary editingInfo)
            {
               //Do something whit the image
                _vc.someButton.SetBackgroundImage (image, UIControlState.Normal);
                //Dismiss the pickerVC
                picker.DismissViewController (true, null);
            }
        }

ViewDidLoad

imagePicker = new UIImagePickerController ();
//Set the Delegate and pass the current VC
imagePicker.Delegate = new pickerDelegate (this);

最新更新