ios - 在相机应用程序中单击使用按钮保存照片

标签 ios xcode camera uiimagepickercontroller

我当前的代码是:

- (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/

相关文章:

ios - 使用 NSUserDefaults 保存按钮的标签

ios - 无法将 xcassets 分配给 Xcode 11 上的主要目标

xcode - 如何在一个 ViewController 中两次或多次刷新 preferredStatusBarStyle

ios - @属性定义与 ARC : Is strong default now?

java - Cordova android 应用程序,图像覆盖在摄像机上

objective-c - 如何识别同一张脸?

ios - Adobe AIR 3.4将XML数据保存/写入iOS

iOS 应用程序 : Preview Layer freezes after Recording button is clicked

android - 在Android上使用USB相机和OpenCV

IOS检查是否连接了m3u8流