标签:
获取相册图片
//创建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(@"图片保存成功");
}
标签:
原文地址:http://my.oschina.net/zhangqy/blog/506059