カスタムカメラオーバーレイiPhone SDKを使用した場合画像移動&リサイズ機能していない3.1+
-
22-09-2019 - |
質問
私は、カメラの画面にオーバーレイを追加する古い学校の方法、およびその加工された罰金を使用するために使用されます。 3.1が出てきたので、Appleは私がオーバーレイを追加するためにAPIを使用することを主張しています。私はすぐに仕事にオーバーレイを得たが、それは私がカスタムオーバーレイを使用する場合は、移動&リサイズ画面が応答しないようです、私は唯一の使用や再受験することができ、実際にサイズを変更&移動することはできません。私が使用していたコードは以下の通りです。私はいくつかのバリエーションを試してみましたが、実際に移動&リサイズを可能にします唯一のものは、カスタムオーバーレイビューを追加する行を削除することです。
任意のアイデア?
UIImage *image = [UIImage imageNamed:@"camera-template-long.png"];
UIImageView *imgView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)] ;
imgView.image = image;
UIView *overlayView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
overlayView.opaque = NO;
[overlayView addSubview:imgView];
UIImagePickerController* picker = [[UIImagePickerController alloc] init];
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
picker.showsCameraControls = YES;
picker.cameraOverlayView = overlayView;
picker.delegate = self;
picker.allowsEditing = YES;
[self presentModalViewController:picker animated:YES];
解決 2
あなたが入力を扱うからオーバーレイビューを停止する
[overlayView setUserInteractionEnabled:NO];
を使用したら、全体の問題が消えます。
他のヒント
設定allowsEditing
/ NOへshowsCameraControls
特性の両方が、cameraOverlayView
に元のビューを作成し、利用takePicture
方式ます。
はその後、imagePickerController:didFinishPickingMediaWithInfo:
は直接呼び出されます。
次のコードを試してみてください
- (void)foo {
UIImagePickerController *controller = [[[UIImagePickerController alloc] init] autorelease];
controller.sourceType = UIImagePickerControllerSourceTypeCamera;
controller.cameraOverlayView = self.cameraOverlay;
[self performSelector:@selector(moveOverlayViewToSublayer:) withObject:controller afterDelay:0.1f];
controller.delegate = self;
[self presentModalViewController:controller animated:YES];
}
- (void) moveOverlayViewToSublayer:(UIImagePickerController*)controller {
CALayer *aLayer = self.cameraOverlay.layer.superlayer;
controller.cameraOverlayView = nil;
[aLayer addSublayer:self.cameraOverlay.layer];
}
私はそれがうまくいくことを願っています。
http://www.techques.com/質問/ 1-10178214 / cameraOverlayView-防止-編集-で-allowsEditingする
これは私のために完璧に動作します。私は無効userInteractionEnabledにしようとしたが無駄インチ
所属していません StackOverflow