我有一个 UIImagePickerControler 实例,我已经对其进行了自定义,以允许我使用自己的 buttonBar 而不是 Apple 的默认值。
这是实现代码。
- (void)presentCameraPicker
{
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
{
photoPicker = [[UIImagePickerController alloc] init];
photoPicker.delegate = self;
photoPicker.allowsEditing = NO;
photoPicker.sourceType = UIImagePickerControllerSourceTypeCamera;
photoPicker.cameraFlashMode = UIImagePickerControllerCameraFlashModeOff;
photoPicker.showsCameraControls = NO;
cameraOverlayVC.view.frame = CGRectMake(0, 426, 320, 54);
[photoPicker.cameraOverlayView addSubview:cameraOverlayVC.view];
[self presentModalViewController:photoPicker animated:YES];
}
}
我已经在 iOS4(iPodTouch 4th Gen 上的 4.3)和 iOS5(iPhone 4S 上的 5.1)这两个版本上对其进行了测试。在 iOS4 上,当 UIImagePicker 出现在屏幕上时,我可以点击实时取景图像,我可以获得点击对焦功能(和 AE)和默认的焦点方形视觉指示器,就像在 Apple 的相机应用程序中一样。在 iOS5 上,我获得了相同的点击对焦功能,但没有视觉指示器。我可以添加一个新的叠加视图来模拟 Apple 的视觉指示器,但在 iOS4 上我会在屏幕上获得两个叠加的视觉指示器。
任何解决此问题的想法或建议将不胜感激。