在IOS 7中通过相机捕获图像后如何跳过重新拍摄/使用照片选项

时间:2014-05-27 10:30:48

标签: ios7 uiimagepickercontroller photo

这里我正在使用IOS 7开发一个应用程序,其中相机用于捕获图像。但在捕获图像后,它会显示重新拍摄/使用照片选项。我希望在捕获图像之后直接进入下一个屏幕而不显示默认重拍?使用照片选项。我谷歌这个问题,但我没有得到适当的解决方案。请帮我解决这个问题。

提前致谢。

以下是我在项目中使用的代码段

enter image description here

-(void)StartCamera

{

if (![UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])

{  

  UIAlertView *myAlertView = [[UIAlertView alloc] initWithTitle:@"Error"           message:@"Device has no camera" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil];

    [myAlertView show];
}
else
{ 
    picker = [[UIImagePickerController alloc] init];
    picker.delegate = self;
    picker.allowsEditing = NO;
    picker.sourceType = UIImagePickerControllerSourceTypeCamera;
    [self presentViewController:picker animated:YES completion:NULL];
}
}

2 个答案:

答案 0 :(得分:8)

iOS提供的库存UIImagePickerControllerSourceTypeCamera包含这两个按钮。

实现目标的一种方法是继续使用UIImagePickerViewController并将showsCameraControls设置为NO。然后,使用cameraOverlayView为您的自定义叠加层视图提供自己的用户界面。

self.picker.showsCameraControls = NO;

self.overlay = [[OverlayViewController alloc] initWithNibName:@"Overlay" bundle:nil];
self.overlay.pickerReference = self.picker;

self.picker.cameraOverlayView = self.overlay.view;
self.picker.delegate = self.overlay;

另一种方法是使用AVFoundation创建自己的相机视图。

答案 1 :(得分:-1)

    let picker = UIImagePickerController()
        picker.delegate = self
        picker.allowsEditing = false
        picker.automaticallyAdjustsScrollViewInsets = true
        picker.sourceType = UIImagePickerControllerSourceType.camera

适用于相机和相册。

如果您正在使用任何第三方库进行编辑,它将直接引导您访问该库或关闭选择器控制器而不进行预览。