IOS调用相册和照相获取图片
2016-01-11 22:46
344 查看
//action sheet 的代理函数,处理头像选择(照片或者照相) - (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{ switch (buttonIndex) { case INDEX_CAMERA: [self takePicFromCamera]; break; case INDEX_PHOTO: [self takePicFromPhoto]; break; default: break; } } //从相册获取头像 - (void)takePicFromPhoto{ UIImagePickerController *pickerCon = [[UIImagePickerController alloc]init]; pickerCon.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; pickerCon.delegate = self; pickerCon.allowsEditing = true; [self presentModalViewController:pickerCon animated:YES]; } //从相机获取头像 - (void)takePicFromCamera{ UIImagePickerControllerSourceType type = UIImagePickerControllerSourceTypeCamera; if ([UIImagePickerController isSourceTypeAvailable:type]) { UIImagePickerController *picker = [[UIImagePickerController alloc]init]; picker.sourceType = type; picker.allowsEditing = true; picker.delegate = self; [self presentModalViewController:picker animated:YES]; }else{ NSLog(@"相机无法打开"); } } - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info{ NSString *type = [info objectForKey:UIImagePickerControllerMediaType]; if ([type isEqualToString:@"public.image"]) { UIImage *image = [info objectForKey:@"UIImagePickerControllerOriginalImage"]; NSData *data; if (UIImagePNGRepresentation(image) == nil) { data = UIImageJPEGRepresentation(image, 1.0); }else{ data = UIImagePNGRepresentation(image); } //把选择的图片保存在沙盒中 NSString *documentPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"]; NSFileManager *manager = [NSFileManager defaultManager]; NSString *filePath = [documentPath stringByAppendingPathComponent:@"header_image.png"]; [manager createDirectoryAtPath:documentPath withIntermediateDirectories:YES attributes:nil error:nil]; [manager createFileAtPath:filePath contents:data attributes:nil]; [picker dismissModalViewControllerAnimated:YES]; _imageViewHeader.image = image; NSLog(@"photourl-->%@",filePath); } }
相关文章推荐
- iOS开发中有关NSMutableAttributedString的使用
- 【转】iOS开发里的Bundle是个啥玩意?!
- iOS图片拉伸技巧
- 【转】iOS-生成Bundle包-引入bundle-使用bundle
- iOS笔记之成员变量及属性变量
- IOS-多控制器管理一
- iOS笔记之项目构成及方法调用
- IOS-KVC,KVO与MVC设计模式
- iOS中NSNotificationCenter的简单使用
- IOS-Quartz2D API简单入门
- IOS-IOS应用的核心(一)
- IOS-真机调试
- iOS开发中禁止屏幕旋转的2种方式
- 【iOS】百叶窗动画
- iOS 开发 如何获得用户当前位置(通过经纬度获得城市、省份等信息)
- iOS 关于隐藏键盘那些事儿
- Firemonkey使用iOS的第三方静态库(Link Binary With Libraries)
- CocoaPods 的个人使用总结
- 《从零开始自学iOS》_02
- iOS_视图控制对象生命周期以及区别和用途