Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone UIImagePickerController允许编辑=是问题_Iphone_Objective C_User Interface_Uiimagepickercontroller - Fatal编程技术网

Iphone UIImagePickerController允许编辑=是问题

Iphone UIImagePickerController允许编辑=是问题,iphone,objective-c,user-interface,uiimagepickercontroller,Iphone,Objective C,User Interface,Uiimagepickercontroller,我的uiimagepickercontroller仍然存在此问题。这应该是直截了当的,但我还是不明白。或者我走错了方向 我调用imagepicker,这样用户就可以从相机卷/相册/相机中加载照片。这部分很好 当我将allowsEditing设置为YES时,它变得很奇怪。DiDiDiFinishPickingMediaWithInfo委托返回一个NSDictionary*信息,其中包含EditeImage和originalImage,即使用户没有裁剪picker中显示的图像。所以问题是如何检测用户

我的uiimagepickercontroller仍然存在此问题。这应该是直截了当的,但我还是不明白。或者我走错了方向

我调用imagepicker,这样用户就可以从相机卷/相册/相机中加载照片。这部分很好

当我将allowsEditing设置为YES时,它变得很奇怪。DiDiDiFinishPickingMediaWithInfo委托返回一个NSDictionary*信息,其中包含EditeImage和originalImage,即使用户没有裁剪picker中显示的图像。所以问题是如何检测用户是否裁剪了图像

我的应用程序需要的是,如果用户愿意,可以裁剪图像,但他也可以选择不裁剪,从而返回原始照片。目前我正在使用一个分段控件供用户在加载照片之前进行预选,我认为这很不方便。也许有些用户不理解它


那么,我如何实现我所需要的,而不给用户带来这么多麻烦呢

如果显示编辑控件,我很确定您必须编辑图像。我不知道有什么办法可以摆脱广场

但是,如果我错了,您可以比较它们的尺寸:

editedImage = [info objectForKey:UIImagePickerControllerEditedImage];
originalImage = [info objectForKey:UIImagePickerControllerOriginalImage];

if ((editedImage.size.width != originalImage.size.width) || (editedImage.size.height != originalImage.size.height)) {
    // The image has been edited
}

就用这个。。它将自动返回正确的图像,裁剪或未裁剪。。。您仍然拥有所有信息,以防万一:)


嗨,马修,谢谢你的回答。不管怎么说,我想如果我这样做,那永远是真的。因为,例如,假设我正在加载一张肖像照片,当设置allowsEditing=YES时,裁剪方块已经存在,因此EditeImage将始终返回该方块中的任何内容,即使用户尚未裁剪它。我想了一个解决这个问题的方法,也许是询问用户是否想要裁剪照片,然后根据输入显示选择器。我没有其他想法了。你可以事后再问,因为你有两张照片,但是编辑广场很可能会让一些人抓狂。我想我会使用两个不同的按钮,比如“拍摄照片”和“拍摄并编辑照片”,而不是分段控制,如果你有空间的话。用户保证会注意到并故意选择他们想要的。从用户的角度来看,如果应用程序在之后要求裁剪,这就像向用户询问两次一样。我认为这会让用户感到困惑。您拍摄照片并拍摄和编辑照片的想法是可以的。但目前,我提供了一个操作表,询问用户在展示UIImagePicker/摄像头之前是否要裁剪照片。这是因为我已经有了3个按钮(从相机卷、相册和照相机加载)。不管怎样,谢谢你的回复,我很感激你的想法。行动单也是一个不错的选择。我对UI的关注是分段控件,我认为这对于大多数用户来说是不明显的。
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)info
{