我知道这是一个非常古老的问题,一段时间内没有任何活动,但这是谷歌搜索中出现的问题,据我所知,这个问题仍未得到令人满意的回答。
无论如何,判断图像是否已被编辑的方法是:
在 didFinishPickingMediaWithInfo: 中,您可以检查 CropRect 的宽度和原始图像的宽度。如果 CropRect.width == originalImage.width+1,那么它没有被编辑。这是因为要编辑图像,用户必须捏合和缩放,这会缩放图像并更改 CropRect 的大小。简单地移动图像是行不通的,因为它会反弹回来,除非它被缩放。
NSValue *pickerCropRect = info[UIImagePickerControllerCropRect];
CGRect theCropRect = pickerCropRect.CGRectValue;
UIImage *originalImage = info[UIImagePickerControllerOriginalImage];
CGSize originalImageSize = originalImage.size;
if (theCropRect.size.width == originalImageSize.width+1) {
NSLog(@"Image was NOT edited.");
} else {
NSLog(@"Image was edited.");
}
据我所知,这适用于 6S 和 6+ 的 iOS 9。我看不出它不应该在其他地方工作的真正原因。