`

UIImagePicker用法

 
阅读更多

在按钮的响应事件里添加:

// 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中读取照片并做相关处理

分享到:
评论

相关推荐

    iOS中UIImagePickerController图片选取器的用法小结

    UIImagePickerController用于管理可自定义的,系统支持的用于获取设备上图片和视频的用户界面。同时可以用于在App中选择存储的图片和视频。一个UIImagePickerController管理用户交互并且将这些交互结果传递给一个...

    GKImagePicker:iOS中UIImagePicker的增强功能,可以以任何指定的大小进行图像裁剪以及图像旋转和缩放

    iOS中UIImagePicker的增强功能,可以以任何指定的大小进行图像裁剪以及图像旋转。 如此简单易用,即使您的计算机文盲奶奶也可以(大概)弄清楚这一点。 特征 从相机中获取新图像或从图库中获取现有图像 以您希望的...

    [iOS基础传感器].(Basic.Sensors.in.iOS).Alasdair.Allan.文字版.pdf

    文档涵盖了从基础硬件特性到高级使用方法的广泛主题,为开发者提供了实用的代码示例以及最佳实践指导。 文档的开篇便介绍了如何检测硬件差异,这对于应用开发来说至关重要。硬件差异可能会影响到应用的兼容性与性能...

    iosUI控件的使用

    包含collectionView,UIBezierPath,ActionSheet,DatePicker,pickerView,SearchBar,UIActivityIndicatorView,UIAlertView,UIButton,UIimagePicker,UILabel,UInavigationController,UIProgressView,UIScrollerView,...

    图片选择器

    - 在实际开发中,为了提供更好的用户体验和更多自定义选项,开发者通常会选择第三方图片选择库,如`AlamofireImage`、`Kingfisher`、`UIImagePicker`等。这些库通常会封装系统API,提供批量选择、预览、裁剪等功能...

    IOS-自定义ImagePicker-ELCImagePickerController

    本文将深入探讨如何使用开源项目"ELCImagePickerController"来创建一个自定义的图片选择器,以此替代官方的`UIImagePicker`,并实现图片的多选功能。 ELCImagePickerController是一个为iOS应用设计的第三方库,它...

    IOS打开系统相机的闪光灯

    1.直接使用UIImagePickerController,这个类提供了一个简单便捷的拍照与选择图片库里图片的功能。 2.另一种是通过AVFoundation.framework框架完全自定义拍照的界面和选择图片库界面。我只做了第一种,就先给大家介绍...

    CRMediaPickerController(iPhone源代码)

     CRMediaPickerController类似UIImagePicker,能够选择图片和视频。支持从相机拍照,从图库选择,甚至从最近拍摄的图片都能获取。具有UIImagePicker的属性(Camera Overlay, Camera Device, Camera View Transform, ...

    iphone3开发基础教程

    16.1 使用图像选取器和UIImagePicker-Controller 386 16.2 实现图像选取器控制器委托 387 16.3 实际测试照相机和库 389 16.3.1 设计界面 390 16.3.2 实现照相机视图控制器 390 16.4 小结 394 第17章 应用程序本地化...

    增强现实(AR)ios开发ppt

    这个过程涵盖了使用UIImagePickerController来访问设备的摄像头,以及如何设置UIImagePicker的属性以及使用cameraOverlayView来显示自定义视图。 在这个过程中,开发者将学习如何在摄像头捕获的实时图像上叠加文本...

    PhotosPicker

    照片选择器使用PhotosFramework特征 像UIImagePicker 兼容的iCloud(PhotoStream) 多项选择 每日划分 庄稼要求iOS 8.0以上斯威夫特1.2结构PhotosPickerController:UINavigationController ...) ...

    ios-photomap-exercise:wk6 练习 Codepath 介绍 iOS,swift; 由里程碑标记; 前方形 + 地图包

    利用 UIImagePicker,然后发送到地点选择器。 显示照片注释。 添加 MKPointAnnotation 子类 PhotoAnnotation。 奖金1奖金2。 引脚标注的自定义注释视图。 点按注释视图的标注将全图作为 VC 推送。 奖金3. 自定义...

Global site tag (gtag.js) - Google Analytics