0

私のアプリでは、ユーザーが意図した用途に合わせて画像を正しく並べられるように、カメラオーバーレイが必要です。さらに、ズームとこの「ガイド」との位置合わせを微調整できるように、編集インターフェイスが必要です。カメラオーバーレイをデフォルトのカメラコントロールで動作させるようにしました(デフォルトのコントロールを使用しない限り、編集ペインは表示されません)が、編集画面でズーム/パンできません。タッチイベントは、編集画面ではなく、オーバーレイで発生しているようです。私はこれが潜在的な問題であることを知っていました/知っていて、ここに記載されている修正を実装しました

これにより、カメラ画面自体に焦点を合わせることができ、オーバーレイでタッチが通過/無視されていることがわかりますが、編集画面ではまだ機能していません。ここにある最もヒットしたコードのいくつかも試しました

このソリューションでは、「UIViewController」の表示された@interfaceがスーパーラインでセレクター「hitTest:withEvent:」を宣言するたびにエラーが発生します。

また、userInteractionEnabledプロパティで遊んでいるすべての種類の設定を試しました

オーバーレイを実行するために使用しているコードは次のとおりです。

self.picker = [[UIImagePickerController alloc] init];
self.picker.sourceType = UIImagePickerControllerSourceTypeCamera;
self.picker.cameraCaptureMode = UIImagePickerControllerCameraCaptureModePhoto;
self.picker.cameraDevice = UIImagePickerControllerCameraDeviceRear;
self.picker.showsCameraControls = YES;
self.picker.navigationBarHidden = YES;
self.picker.toolbarHidden = YES;
self.picker.wantsFullScreenLayout = YES;
self.picker.allowsEditing = YES;
self.picker.view.userInteractionEnabled = YES;

// Insert the overlay
self.overlay = [[OverlayViewController alloc] initWithNibName:@"OverlayViewController" bundle:nil];
self.overlay.pickerReference = self.picker;

self.picker.cameraOverlayView = self.overlay.view;
[self.picker.cameraOverlayView setUserInteractionEnabled:YES];
//[self.picker.cameraOverlayView setUserInteractionEnabled:FALSE];
self.picker.delegate = self.overlay;

// [self PerformSelector:@selector(moveOverlayViewToSublayer :) withObject:self.picker afterDelay:0.1f];

[self presentModalViewController:self.picker animated:NO];
4

1 に答える 1

0

xib ファイルを使用してカスタム オーバーレイを機能させるのに問題があり、コードでオーバーレイ ビューを作成するだけになりました。

ネット上でこれを達成する方法の例があります:

http://www.musicalgeometry.com/?p=821

https://developer.apple.com/library/ios/#samplecode/PhotoPicker/Introduction/Intro.html#//apple_ref/doc/uid/DTS40010196

于 2013-03-22T16:07:47.863 に答える