私のアプリでは、ユーザーが意図した用途に合わせて画像を正しく並べられるように、カメラオーバーレイが必要です。さらに、ズームとこの「ガイド」との位置合わせを微調整できるように、編集インターフェイスが必要です。カメラオーバーレイをデフォルトのカメラコントロールで動作させるようにしました(デフォルトのコントロールを使用しない限り、編集ペインは表示されません)が、編集画面でズーム/パンできません。タッチイベントは、編集画面ではなく、オーバーレイで発生しているようです。私はこれが潜在的な問題であることを知っていました/知っていて、ここに記載されている修正を実装しました
これにより、カメラ画面自体に焦点を合わせることができ、オーバーレイでタッチが通過/無視されていることがわかりますが、編集画面ではまだ機能していません。ここにある最もヒットしたコードのいくつかも試しました
このソリューションでは、「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];