iOS 在iPad中打开相册和摄像头的方式

报错方式:

Warning: Attempt to present   on <***Controller: 0x15c53cc50> which is already presenting (null)

解决方案:

/** 调用相册 */
- (void)openPhotoAlbum {
    [self openPhotoAlbumOrCamera:UIImagePickerControllerSourceTypePhotoLibrary];
}

/** 调用摄像头 */
- (void)openCamera {
    BOOL isCamera = [UIImagePickerController isCameraDeviceAvailable:UIImagePickerControllerCameraDeviceRear];
    if (!isCamera) {
        HUDNormal(@"当前设备没有摄像头");
        return;
    }
    [self openPhotoAlbumOrCamera:UIImagePickerControllerSourceTypeCamera];
}

- (void)openPhotoAlbumOrCamera:(UIImagePickerControllerSourceType)type {
    self.imagePicker.sourceType = type;
    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {
        __weak typeof(self) ws = self;
        [[NSOperationQueue mainQueue] addOperationWithBlock:^{
            [ws presentViewController:self.imagePicker animated:YES completion:nil];
        }];
    } else {
        [self presentViewController:self.imagePicker animated:YES completion:nil];
    }
}

你可能感兴趣的:(iOS 在iPad中打开相册和摄像头的方式)