iOS 调用系统相机和选择相册照片

2022-11-15 14:35:57 浏览数 (2)

代码语言:javascript复制
// 在需要的地方调用下面方法  可是是button 也可以是imageView添加手势等
- (void)choosePhotos{

    UIAlertController *alert= [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet];
    UIAlertAction *sureAction = [UIAlertAction actionWithTitle:@"相册" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
        UIImagePickerController *picker = [[UIImagePickerController alloc] init];
        picker.delegate = self;
        picker.allowsEditing = YES;
        
        picker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
        [self presentViewController:picker animated:YES completion:nil];
        
    }];
    UIAlertAction *cameraAction = [UIAlertAction actionWithTitle:@"相机" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
        UIImagePickerController *camera = [[UIImagePickerController alloc] init];
        camera.delegate = self;
        camera.allowsEditing = YES;
        if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
        {
            camera.sourceType = UIImagePickerControllerSourceTypeCamera;
        }
        else
        {
            NSLog( @"摄像头不可用");
            return;
        }
        camera.cameraCaptureMode = UIImagePickerControllerCameraCaptureModePhoto;
        [self presentViewController:camera animated:YES completion:nil];
        
        
    }];
    
    UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) {
    }];
    
    
    [alert addAction:sureAction];
    [alert addAction:cancelAction];
    [alert addAction:cameraAction];
    [self presentViewController:alert animated:YES completion:nil];
    
}


//相册代理方法
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info{
    
    //参数UIImagePickerControllerEditedImage 是否裁剪
    UIImage *image = info[UIImagePickerControllerEditedImage];
    
    // image 就是我们选择的照片,可以展示,可以上传

    
        [picker dismissViewControllerAnimated:YES completion:nil];

}

相机界面不显示中文问题: 在info.plist 添加Localizations 选择Chinese(simplified) 即可

0 人点赞