0

嗨,是否可以在不保存到 ios 设备的情况下捕获图像。这是一个让我担心的问题。

任何人都可以给我一个如何实现它的想法。

4

1 回答 1

2

对的,这是可能的:

- (void)takePhoto
{
    UIImagePickerController * pc = [[UIImagePickerController alloc] init];
    pc.sourceType = UIImagePickerControllerSourceTypeCamera;
    pc.delegate = self;

    pc.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypeCamera];
    pc.allowsEditing = YES;

    [self presentViewController:pc animated:YES completion:^{

    }];
}

#pragma mark - UIImagePickerController Delegate

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    [picker dismissViewControllerAnimated:YES completion:^{
        UIImage * image = [info valueForKey:@"UIImagePickerControllerOriginalImage"];
        self.imageView.image = image;
    }];
}

编辑:

如果要保存图像,可以简单地将其保存到 Caches 目录(有关如何执行此操作或其他堆栈溢出问题的信息,请参阅NSFileManager的苹果文档。这比 NSUserDefaults 更可取,尽管这也可以。

如果您只想简单地发送它(通过电子邮件、共享或 API 上传),您不必先保存它。您可以使用上面 self.imageView.image 属性中的内存版本。

于 2013-07-25T18:11:53.217 回答