UIImagePickerController允许编辑不起作用

Ami*_*Raz 15 iphone uiimagepickercontroller xamarin.ios ios xamarin

我正在使用UIImagePickerController来允许用户拍照.我想让他之后编辑它,但无论我做什么,我什么也得不到.这是我的代码(我正在使用Xamarin):

UIImagePickerController imagePicker = new UIImagePickerController ();
                // set our source to the camera
                imagePicker.SourceType = UIImagePickerControllerSourceType.Camera;
                // set what media types
                //imagePicker.MediaTypes = UIImagePickerController.AvailableMediaTypes (UIImagePickerControllerSourceType.Camera);
                // show the camera controls
                imagePicker.ModalPresentationStyle = UIModalPresentationStyle.CurrentContext;
                imagePicker.ShowsCameraControls = true;
                imagePicker.AllowsEditing = true;
                imagePicker.SetEditing (true,true);
                imagePicker.PreferredContentSize = new SizeF(900,600);
                imagePicker.CameraCaptureMode = UIImagePickerControllerCameraCaptureMode.Photo;
                imagePicker.Title="taste.eat. image";
                // attach the delegate
                imagePicker.Delegate = new ImagePickerDelegate();
                // show the picker
                NavigationController.PresentViewController(imagePicker, true,null);
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?

编辑:

我已经按照教程进行了操作,并且我正在使用矩形进入屏幕,但是如果我平移或缩放它,只要我抬起手指就会快速回到中心.是否可以从照片应用程序进入此屏幕?

来自照片应用程序的图像

Adi*_*hur 40

使用UIImagePickerController's delegate 方法时imagePickerController:didFinishPickingMediaWithInfo:,我们使用方法获取图像

UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
Run Code Online (Sandbox Code Playgroud)

即使编辑为ON,此代码也将始终返回原始图像.

尝试使用

UIImage *image = [info objectForKey:UIImagePickerControllerEditedImage];
Run Code Online (Sandbox Code Playgroud)

如果编辑为ON,这将返回编辑的图像.

希望这可以帮助.


Jac*_*ack 23

AllowsEditing如果选择图像,该属性只允许用户裁剪为正方形,如果选择视频则修剪视频.

需要使用自定义UI和代码实现任何其他功能.

看到这个问题:iPhone SDK - 如何使用allowEditing在UIImagePickerController中自定义裁剪矩形?

UIImagePickerController不幸的是,您在屏幕截图中显示的内容不属于其中


小智 6

SWIFT 3

我很难恢复裁剪的图像(我最后的错误).而不是使用UIImagePickerControllerOriginalImage,您需要UIImagePickerControllerEditedImage.见下文:

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
    // The info dictionary contains multiple representations of the image, and this uses the cropped image.
    let selectedImage = info[UIImagePickerControllerEditedImage] as! UIImage

    // Set yourImageView to display the selected image.
    yourImage.image = selectedImage

    // Dismiss the picker.
    dismiss(animated: true, completion: nil)
}
Run Code Online (Sandbox Code Playgroud)