我正在创建一个应用程序,其中我为相机做了一个自定义的覆盖。我注意到,当我使用相机的正常默认设置时,会出现一个预览,您可以选择重新拍摄照片或使用它。当使用自定义覆盖时,有没有一种简单的方法来显示屏幕?谢谢!
发布于 2013-06-05 18:42:49
是的。为此,您必须以编程方式创建一个相机覆盖视图。
然后写下这段代码。
//set our custom overlay view
imagePickerController.cameraOverlayView = overlayView;
imagePickerController.showsCameraControls = NO;要在摄像机屏幕上显示覆盖视图,请使用上面的代码。对于添加覆盖视图,无需使用addSubView方法。
当你使用普通相机时,那么默认情况下取消按钮,使用,Ratake和相机反转按钮出现在你的屏幕上。如果你想让showsCameraControls说“不”。那么这些按钮就不会出现了。然后,通过编程方式,您必须在相机覆盖视图上添加UIButton并设置它们的功能。
在这里,我添加了一个按钮的相机覆盖视图。
//add Camera Reverse button to the overlay view.
UIButton *btnCamReverse = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[btnCamReverse setBackgroundImage:[UIImage imageNamed:@"image.png"]
forState:UIControlStateNormal];
//set the frame
CGRect btnCamReverseFrame = CGRectMake(400, 250, 50, 50);
btnCamReverse.frame = btnCamReverseFrame;
[btnCamReverse addTarget:self
action:@selector(onClickButtonCamReverse:)
forControlEvents:UIControlEventTouchUpInside];
[overlayView addSubview:btnCamReverse];
//IBAction (for switching between front and rear camera).
-(IBAction)onClickButtonCamReverse:(id)sender
{
if(imagePickerController.cameraDevice == UIImagePickerControllerCameraDeviceFront)
{
imagePickerController.cameraDevice = UIImagePickerControllerCameraDeviceRear;
}
else
{
imagePickerController.cameraDevice = UIImagePickerControllerCameraDeviceFront;
}
}对于相机覆盖示例,请打开以下链接.....
https://github.com/anka/bw_examples
对我来说很管用。我希望它对你也适用。
https://stackoverflow.com/questions/16933811
复制相似问题