我有一个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第四代版本为4.3)和iOS5版本(iPhone 4S版本为5.1)。在iOS4上,当UIImagePicker出现在屏幕上时,我可以点击实时取景图像,同时获得点击对焦功能(和AE)以及默认的焦点方形视觉指示器,就像Apple的相机应用程序一样。在iOS5上,我获得了相同的点击功能,但没有可视指示。我可以添加一个新的叠加视图来模拟Apple的视觉指示器,但在iOS4上我会在屏幕上显示两个叠加的视觉指示器。
任何有关解决此问题的想法或建议都将不胜感激。