我曾经使用老式的方法在相机屏幕上添加叠加层,效果很好。然而,自从 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];