本来想做个注册登录的表单的,想想还是先做个简单的头像选择,一般情况下不管是内部管理系统还是面向公众的互联网公司,注册登录是免不了的,用户头像上传是免不了的,尤其是企业用户,上传了自己的图片才感觉自己买的系统是比较值的。iOS开发中上传图片还是比较简单的,通过UIImagePickerController和协议就很容易的实现的图片的选择和上传。

页面布局

首先看下视图,一个按钮,一个标签和一个ImageView:

界面很简单,头文件中声明一下UIImageView:

@property (weak, nonatomic) IBOutlet UIImageView *imageView;

 Demo实现

上传按钮的代码,具体方法已经注释:

//选择头像
- (IBAction)chooseImage:(id)sender {//实例化照片选择控制器UIImagePickerController *pickControl=[[UIImagePickerController alloc]init];//设置照片源[pickControl setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];//设置协议[pickControl setDelegate:self];//设置编辑[pickControl setAllowsEditing:YES];//选完图片之后回到的视图界面[self presentViewController:pickControl animated:YES completion:nil];}

设置协议,需要头文件中声明一下:

@interface ViewController : UIViewController <UINavigationControllerDelegate,UIImagePickerControllerDelegate>@property (weak, nonatomic) IBOutlet UIImageView *imageView;@end

之后需要在返回的时候显示图片使用协议中的imagePickerController方法:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{//    UIImage *image=info[@"UIImagePickerControllerOriginalImage"];UIImage *image=info[@"UIImagePickerControllerEditedImage"];[self.imageView setImage:image];//选取完图片之后关闭视图[self dismissViewControllerAnimated:YES completion:nil];}

 需要注意的,如果需要不需要编辑,获取image的方法为:

UIImage *image=info[@"UIImagePickerControllerOriginalImage"];

 最终效果演示:

转载于:https://www.cnblogs.com/xiaofeixiang/p/4245230.html

iOS开发-照片选择相关推荐

  1. 学iOS开发如何选择iOS培训机构之浅析

    随着iOS开发的火爆,企业对于iOS开发人才的需求不断增加,很多想通过培训而进入高薪阶层的童鞋越来越多,关于这方面的培训机构也就与日俱增.想学的同学看得眼花缭乱,不知道哪家才是最好.最适合自己的··· ...

  2. 每天一个编程题·iOS开发算法提升计划(1)

    点击上方"iOS开发",选择"置顶公众号" 关键时刻,第一时间送达! 先不说楚枫的这般年纪,能够踏入元武一重说明了什么,最主要的是,楚枫在刚刚踏入核心地带时,明 ...

  3. iOS开发·runtime原理与实践: 基本知识篇

    点击上方"iOS开发",选择"置顶公众号" 关键时刻,第一时间送达! 摘要:这篇文章首先介绍runtime原理,包括类,超类,元类,super_class,is ...

  4. iOS开发——仿微信图片浏览交互的实现(向下拖拽图片退出图片浏览器)

    点击上方"iOS开发",选择"置顶公众号" 关键时刻,第一时间送达! DEMO的github地址:https://github.com/YYProgrammer ...

  5. iOS开发图片格式选择

    图片是如何显示的 在讲解如何选择图片格式之前,我感觉有必要先了解下,图片是如何展示的.如果我们要展示一张图片,一般步骤是这样的: /// Assets.xcassets中的图片,不需要后缀 let i ...

  6. 【iOS开发每日小笔记(一)】UIPickerView 自动选择某个component的某个row

    这篇文章是我的[iOS开发每日小笔记]系列中的一片,记录的是今天在开发工作中遇到的,可以用很短的文章或很小的demo演示解释出来的小心得小技巧.它们可能会给用户体验.代码效率得到一些提升,或是之前自己 ...

  7. iOS开发之保存照片到自己创建的相簿

    iOS开发之保存照片到自己创建的相簿 保存照片还可以用ALAssetsLibrary,ALAssetsLibrary提供了我们对iOS设备中的相片.视频的访问,是连接应用程序和相册之间访问的一个桥梁. ...

  8. 【iOS开发】相册选择图片识别条形码

    [iOS开发]相册选择图片识别条形码 原生识别条形码 VNDetectBarcodesRequest 只要iOS11.0+以上支持,支持iOS11.0-以下请使用其他方案 // Create a ba ...

  9. 北京ios培训-如何选择好的iOS开发培训机构

          某大学生王同学,毕业已经一年了,从事着自己并不喜欢的材料类专业,工作环境不好,工资也不高,感觉生活很渺茫.一个偶然的机会,他听同学说学iOS开发很有前途,工资也不错,便萌生了转行 的念头. ...

最新文章

  1. AutoScaling 弹性伸缩附加与分离RDS实例
  2. synchronized的理解
  3. spring学习(四) ———— 整合web项目(SSH)
  4. 读者投稿 | 写Go满一年啦,来聊聊进程、线程与协程
  5. Spring包的依赖关系以及提供下载
  6. RHCE-PXE无人值守装机一
  7. bzoj1003[ZJOI2006]物流运输
  8. matlab的控制系统仿真,MATLAB控制系统仿真教程
  9. Android网络收集和ping封装库
  10. 阿铭Linux_网站维护学习笔记20190417
  11. Android 校正系统时间的三种解决方案
  12. DIY面试题 for AI产品经理 | “智能音箱半夜诡异笑声”的原因分析及建议方案
  13. git报错 warning: Clone succeeded, but checkout failed.
  14. DOM对象和JQuery对象别还傻傻分不清
  15. python 利用递归算法来完成计算乘阶、斐波那契数列、汉诺塔
  16. 智能机器人与智能系统(大连理工大学庄严教授)——3.工业机器人
  17. 3dmaxobj导出选项_3DMAX怎么导出obj?
  18. 不运动也能增肌???打一针冬眠黑熊的血清就行
  19. JavaScript 函数式编程思想
  20. 合工大与安大的计算机科学与技术好,计算机考研安徽大学和合工大两所学校哪个好?...

热门文章

  1. 设置Sysctl.conf用以提高Linux的性能(最完整的sysctl.conf优化方案)
  2. 调用API弹出打印机属性对话框
  3. 文本的DES加密 MD5散列值 DSA的数字签名
  4. TensorRT Samples: CharRNN
  5. 设计模式之代理模式(Proxy)摘录
  6. 【Qt】Log4Qt(四):周期性输出日志,并且限制日志文件数量
  7. 【C++】new和malloc的区别
  8. Agile DSL Development in Ruby 笔记
  9. c语言随机浮点数,C随机浮点数生成
  10. 扩展存储过程在哪里_青浦区智能仓储哪里有,一件代发1.9元全国_1.9元发全国-上海东臻仓储服务...