`

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

    UIimagPicke 获取iphone手机相册

    ios uiimagepicker 浏览手机相册照片 或者拍照

    IOS-自定义ImagePicker-ELCImagePickerController

    IOS-自定义ImagePicker-ELCImagePickerController 可以取代官方的UIImagePicker,可以实现图片的多选。

    iOS拍照后图片自动旋转90度的完美解决方法

    如果这个图片直接使用则没事,但是如果对它进行裁剪、缩放等操作后,它的这个imageOrientation属性会变成0。此时这张图片用在别的地方就会发生旋转。imageOrientation是只读的,不能直接修改其值。 解决方法如下: 1....

    iosUI控件的使用

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

    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章 应用程序本地化...

    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