8

撮影後の写真の編集 (移動とスケーリング) は、次の行を使用してアプリで正常に機能します。

[imagePicker setAllowsEditing:YES];

しかし、cameraOverlayView も使用すると、編集モードが機能しなくなります。画面は表示されますが、パンとピンチのジェスチャでは何も起こりません。

私はあなたの平均的な画像ピッカーコントローラーを使用しています:

UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];

そして、カスタム ビュー コントローラーのビューから作成されたカメラ オーバーレイ ビューを追加します。

CameraOverlayViewController *overlayController = [[CameraOverlayViewController alloc] init];
UIView *overlayView = overlayController.view;
[imagePicker setCameraOverlayView:overlayView];

IB では、そのビューはユーザーの操作と複数のタッチを有効にするように設定されているため、写真を撮っている間にズームとフォーカスを行うことができます。ただし、写真を撮影して編集モードに入ると、写真をパンまたはピンチして移動または拡大縮小することはできません。

私は何が欠けていますか?

4

1 に答える 1

32

オーバーレイはカメラ ビューのスペース全体を占めていますか? その場合、透明な背景があっても、下のビューではなくオーバーレイにタッチされます。

このメソッドをオーバーレイ ビューに追加すると、タッチが無視され、下のビューに渡されます。(タッチを検出する UIView のメソッドをオーバーライドしています。)

- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
{
    return NO;
}

注: その素晴らしいヒントと同様に、この情報を使用して、その段階でオーバーレイ ビューを削除することもできます: UIImagePicker cameraOverlayView が再撮影画面に表示されます。

于 2012-04-24T14:34:36.610 に答える