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

报错方式:

Warning: Attempt to present <UIImagePickerController: 0x15c8a0000>  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];
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容