码迷,mamicode.com
首页 > 其他好文 > 详细

UIImagePickerController的使用

时间:2015-09-14 21:18:02      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:

获取相册图片

    //创建imgPickerCtrl
    UIImagePickerController *imgPickerCtrl = [[UIImagePickerController alloc] init];
    
    //设置代理
    imgPickerCtrl.delegate = self;
    //设置资源类型
    imgPickerCtrl.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
    //弹出模态
    [self presentViewController:imgPickerCtrl animated:YES completion:nil];

调用摄像头拍摄照片

   
   //判断一下是否支持拍摄
    BOOL isAvailable = [UIImagePickerController isCameraDeviceAvailable:UIImagePickerControllerCameraDeviceRear];
    if (!isAvailable) {
   //如果不支持,弹出提示框
        UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"提示" message:@"当前没有可用摄像头" delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];
        [alertView show];
        
        return;
    }
    //支持就创建UIImagePickerController
    UIImagePickerController *pickerCtrl = [[UIImagePickerController alloc] init];
    
    //设置代理
    pickerCtrl.delegate = self;
    
    //设置sourceType
    pickerCtrl.sourceType = UIImagePickerControllerSourceTypeCamera;
    
    [self presentViewController:pickerCtrl animated:YES completion:nil];

获取本地视频

    UIImagePickerController *imgPickerCtrl = [[UIImagePickerController alloc] init];
    
    imgPickerCtrl.delegate = self;
    
    imgPickerCtrl.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
    
    //自定媒体类型
    imgPickerCtrl.mediaTypes = @[@"public.movie"];
    
    [self presentViewController:imgPickerCtrl animated:YES completion:nil];

调用摄像头拍摄视频

UIImagePickerController *imgPickerCtrl = [[UIImagePickerController alloc] init];
    
    imgPickerCtrl.delegate = self;
    
    imgPickerCtrl.sourceType = UIImagePickerControllerSourceTypeCamera;
    
    imgPickerCtrl.mediaTypes = @[@"public.movie"];
    
    [self presentViewController:imgPickerCtrl animated:YES completion:nil];



实现代理方法

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {

    NSLog(@"info:%@",info);
   
    NSString *mediaType = [info objectForKey:UIImagePickerControllerMediaType];
    if ([mediaType isEqualToString:@"public.image"]) {
        //获取选中的图片
        UIImage *img = [info objectForKey:UIImagePickerControllerOriginalImage];
        _imgView.image = img;
        
        //如果图片是通过camera拍摄的,则保存到本地
        if (picker.sourceType == UIImagePickerControllerSourceTypeCamera) {
            //将图片写到本地
            UIImageWriteToSavedPhotosAlbum(img, self , @selector(image:didFinishSavingWithError:contextInfo:), nil);
        }
    }else if ([mediaType isEqualToString:@"public.movie"]) {
    
        //获取视图的url
        NSURL *url = [info objectForKey:UIImagePickerControllerReferenceURL];
        
        //播放器播放      
    }
    //关闭当前的模态视图
    [self dismissViewControllerAnimated:YES completion:nil];
}

//图片保存成功后调用的方法
- (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo {

    NSLog(@"图片保存成功");
    
}



UIImagePickerController的使用

标签:

原文地址:http://my.oschina.net/zhangqy/blog/506059

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!