在按钮的响应事件里添加:
// 1)初始化UIImagePicker
UIImagePickerController *imagePicker = [[UIImagePickerControlleralloc]init];
// 2)设置UIImagePicker的数据源,数据源可以是
// a.照片库 - UIImagePickerControllerSourceTypePhotoLibrary
// b. 保存的图像 - UIImagePickerControllerSourceTypeSavedPhotosAlbum
// c. 照相机 - UIImagePickerControllerSourceTypeCamera
[imagePicker setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
// 3)设置是否允许编辑照片
[imagePicker setAllowsEditing:YES];
// 4)设置代理,代理需要实现两个protocols,
// <UINavigationControllerDelegate, UIImagePickerControllerDelegate>
[imagePicker setDelegate:self];
// 5)当前视图控制器展示imagepicker视图
[selfpresentViewController:imagePicker animated:YEScompletion:nil];
实现代理方法
- (void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
// info中包含有选择的图片的多种信息,其中也包含有所选的图片,查看UIImagePickerController关于更多info中key的更多具体信息
UIImage *image = info[@"UIImagePickerControllerEditedImage"];
[self.buttonsetImage:image forState:UIControlStateNormal];
[selfdismissViewControllerAnimated:YEScompletion:^{
// 通过image picker选择的照片只是保存在内存中,如果要持久保存,需要把所选照片存储起来,然后在viewDidLoad中读取并做响应设置。
NSArray *documents = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *path = [documents[0] stringByAppendingPathComponent:IMAGE_FILE_NAME];
NSLog(@"%@", path);
// UIImage无法直接存储,需要通过NSData做中转,可以通过以下方法把UIImage转化成NSData。
NSData *imageData = UIImagePNGRepresentation(image);
// 将image的NSData写入到硬盘里
[imageData writeToFile:path atomically:NO];
}];
}
最后在ViewDidLoad中读取照片并做相关处理
相关推荐
UIImagePickerController用于管理可自定义的,系统支持的用于获取设备上图片和视频的用户界面。同时可以用于在App中选择存储的图片和视频。一个UIImagePickerController管理用户交互并且将这些交互结果传递给一个...
iOS中UIImagePicker的增强功能,可以以任何指定的大小进行图像裁剪以及图像旋转。 如此简单易用,即使您的计算机文盲奶奶也可以(大概)弄清楚这一点。 特征 从相机中获取新图像或从图库中获取现有图像 以您希望的...
文档涵盖了从基础硬件特性到高级使用方法的广泛主题,为开发者提供了实用的代码示例以及最佳实践指导。 文档的开篇便介绍了如何检测硬件差异,这对于应用开发来说至关重要。硬件差异可能会影响到应用的兼容性与性能...
包含collectionView,UIBezierPath,ActionSheet,DatePicker,pickerView,SearchBar,UIActivityIndicatorView,UIAlertView,UIButton,UIimagePicker,UILabel,UInavigationController,UIProgressView,UIScrollerView,...
- 在实际开发中,为了提供更好的用户体验和更多自定义选项,开发者通常会选择第三方图片选择库,如`AlamofireImage`、`Kingfisher`、`UIImagePicker`等。这些库通常会封装系统API,提供批量选择、预览、裁剪等功能...
本文将深入探讨如何使用开源项目"ELCImagePickerController"来创建一个自定义的图片选择器,以此替代官方的`UIImagePicker`,并实现图片的多选功能。 ELCImagePickerController是一个为iOS应用设计的第三方库,它...
1.直接使用UIImagePickerController,这个类提供了一个简单便捷的拍照与选择图片库里图片的功能。 2.另一种是通过AVFoundation.framework框架完全自定义拍照的界面和选择图片库界面。我只做了第一种,就先给大家介绍...
CRMediaPickerController类似UIImagePicker,能够选择图片和视频。支持从相机拍照,从图库选择,甚至从最近拍摄的图片都能获取。具有UIImagePicker的属性(Camera Overlay, Camera Device, Camera View Transform, ...
16.1 使用图像选取器和UIImagePicker-Controller 386 16.2 实现图像选取器控制器委托 387 16.3 实际测试照相机和库 389 16.3.1 设计界面 390 16.3.2 实现照相机视图控制器 390 16.4 小结 394 第17章 应用程序本地化...
这个过程涵盖了使用UIImagePickerController来访问设备的摄像头,以及如何设置UIImagePicker的属性以及使用cameraOverlayView来显示自定义视图。 在这个过程中,开发者将学习如何在摄像头捕获的实时图像上叠加文本...
照片选择器使用PhotosFramework特征 像UIImagePicker 兼容的iCloud(PhotoStream) 多项选择 每日划分 庄稼要求iOS 8.0以上斯威夫特1.2结构PhotosPickerController:UINavigationController ...) ...
利用 UIImagePicker,然后发送到地点选择器。 显示照片注释。 添加 MKPointAnnotation 子类 PhotoAnnotation。 奖金1奖金2。 引脚标注的自定义注释视图。 点按注释视图的标注将全图作为 VC 推送。 奖金3. 自定义...