调用iOS系统本地相册或摄像头

1. .h文件实现 UIImagePickerControllerDelegate和 UINavigationControllerDelegate接口

 

2. 打开相机/相册

具体函数中添加代码:

    UIImagePickerController *picker = [[UIImagePickerController alloc] init];
    picker.sourceType = UIImagePickerControllerSourceTypeCamera;
    picker.delegate = self;
    picker.allowsEditing = YES;
    [self presentViewController:picker animated:NO completion:nil];

其中,sourceType属性代表打开 UIImagePickerController的样式,

UIImagePickerControllerSourceTypePhotoLibrary 来自图库

UIImagePickerControllerSourceTypeCamera 来自相机

UIImagePickerControllerSourceTypeSavedPhotosAlbum 来自相册

 

3. 实现代理方法

#pragma mark - UIImagePickerControllerDelegate
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info
{
    [picker dismissViewControllerAnimated:NO completion:nil];
    NSString * type = [info objectForKey:UIImagePickerControllerMediaType];
    if ([type isEqualToString:@"public.image"])
    {
        UIImage * image = [info objectForKey:@"UIImagePickerControllerEditedImage"]; // image即为从相机/相册获取到的图片
    }
}

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
    [picker dismissViewControllerAnimated:NO completion:nil];
}

 

posted @ 2015-12-01 18:25  Mr.k2  阅读(328)  评论(0)    收藏  举报