标签:
获取相册图片
//创建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