11

在一些视图控制器中:

UIImagePickerController* picker = [[UIImagePickerController alloc] init];
    picker.allowsEditing = YES;
    picker.sourceType = UIImagePickerControllerSourceTypeCamera;
    picker.delegate = self;

    [self presentViewController:picker animated:YES completion:^{

    }];

我拍照并进入下一个屏幕(由于allowedEditing = YES;)我可以选择将我的照片裁剪成方形。白色方形矩形出现在我拍摄的照片上方的初始位置,我尝试移动它。我可以拖动它,但每次我松开手指时,它都会回到最初的位置。没有故障。当我松开手指时,带有easeOut动画的白框矩形动画回到我拖动它的位置。

这与allowsEditing 设置为NO 不同。如果设置为 NO,则甚至不会出现裁剪矩形。

以前,我认为这个问题只出现在 iOS 7 上,但现在我意识到它发生在所有 iOS 版本上。我不明白这是怎么发生的,但是当我开始使用 Xcode 5 并为 iOS7 构建时,它就开始了。我在我的 Mac 上保留了 Xcode 4.6.3,所以我尝试使用旧版 Xcode 再次构建这个应用程序,但它没有解决任何问题。

我还需要提到,当我从照片库加载图像时,裁剪效果很好,就像它应该做的那样。我只有在拍摄新照片时才会遇到问题。

此外,当初始裁剪矩形出现时,虽然我无法在照片周围拖动该矩形,但我仍然可以放大和缩小。当我放大时,我可以在照片周围拖动这个(较小的)裁剪矩形,但只能在初始矩形的位置和大小的边界内。如果我越过该边界,我的裁剪矩形将动画回到不可见边界的内部。

任何人,请帮助...

4

1 回答 1

7

这似乎是 UIImagePickerController 的一个错误。我试图弄清楚我做错了什么。但后来我开始了几个空白的新项目,只是为了测试这个功能。我还查看了苹果官方的示例代码:

https://developer.apple.com/library/ios/samplecode/photopicker/Introduction/Intro.html

于 2013-10-09T16:39:37.293 回答