我想重新打开相机视图

时间:2012-02-05 05:16:01

标签: objective-c ios uiimagepickercontroller

我使用UIImagePickerController打开了摄像机视图 拍完照片后,我再次创建了一个模态视图来处理这张照片
当我关闭图片处理模式视图
相机视图再次显示。
但它不起作用。相机视图已关闭,因此无法再次使用相机 为了重新使用相机,我必须关闭损坏的相机视图。 我不想那样做。

我想在图片处理模式视图关闭后重新打开相机。
我该如何实施?





这是第一个相机代表代码

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
    .......

    UIImagePickerController* cp = [[UIImagePickerController alloc] init];
    cp.sourceType = UIImagePickerControllerSourceTypeCamera;
    cp.delegate = cameraDelegate;
    cp.view.userInteractionEnabled = YES;
    cp.showsCameraControls = NO;

    [picker presentModalViewController:cameraPicker animated:YES];
    .........
}



这是第二个摄像机代表来源

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
     // processing and saving images
}

这是我触摸“取消”时的委托代码

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
      NSLog(@"Second Camera closed.");

      // ... release resources

      [picker dismissModalViewControllerAnimated:YES];
      [self release];

 }

我打开相机,第一台相机拍完照片后再次打开相机 当我触摸第二个摄像机模态视图上的取消按钮时,出现第一个摄像机模态视图但它已关闭。

我试图解决它,但我不能。
所以我实现了如果我触摸“取消”按钮,则关闭两个模型视图 同时。
但我想解决这个问题

1 个答案:

答案 0 :(得分:0)

当您解雇第一个选择器时,您必须在没有动画的情况下执行此操作:

[picker dismissModalViewControllerAnimated:NO];
通过这种方式,您可以立即重新打开另一个选择器。

相关问题