我当前的代码是:
- (IBAction)cameraButtonAction:(id)sender {
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.allowsEditing = NO;
picker.sourceType = (sender == cameraButton) ? UIImagePickerControllerSourceTypeCamera : UIImagePickerControllerSourceTypeSavedPhotosAlbum;
[self presentModalViewController:picker animated:YES];
}
这会调出默认相机,但是当我选择使用
时,它不会保存图片。我已经尝试过:
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo {
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);
[self dismissModalViewControllerAnimated:YES];
}
我看过的每个教程,他们都使用 UIImageView
制作自定义相机应用程序,但这不是我想要做的,我不想在应用程序中显示图像并希望保留默认的相机功能。
最佳答案
您的代码是正确的。但你没有设置委托(delegate)
这里缺少一行:
picker.delegate = self;
您需要将其添加到您的 cameraButtonAction
方法中。
- (IBAction)cameraButtonAction:(id)sender
{
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.allowsEditing = NO;
picker.sourceType = (sender == cameraButton) ? UIImagePickerControllerSourceTypeCamera : UIImagePickerControllerSourceTypeSavedPhotosAlbum;
[self presentModalViewController:picker animated:YES];
}
关于ios - 在相机应用程序中单击使用按钮保存照片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14437141/