嗨,有可能在没有保存到ios设备的情况下捕获图像。这个问题令我担心。
请有任何想法让我知道如何实现它。
答案 0 :(得分: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的apple文档)或其他堆栈溢出问题。这是NSUserDefaults的首选那也行。
如果您只是想发送它(通过电子邮件,分享或API上传),您不必先保存它。您可以使用驻留在上面的self.imageView.image属性中的内存中版本。