初学者干货:

在使用app时,从相册中选取图片作为头像是很常用的操作。

1、首先打开相册选择图片,

2、然后将图片保存至本应用的document,

3、最后将document中图片的路径保存至NSUserDefaults和服务器。

  1. //从相册中选取图片或拍照
  2. - (void)btnActionForEditPortrait:(id) sender {
  3. UIImagePickerController *picker = [[UIImagePickerController alloc] init];
  4. picker.delegate = self;
  5. picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
  6. picker.allowsEditing = YES;
  7. [self presentViewController:picker animated:YES completion:NULL];
  8. }
  9. - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
  10. _avatar = info[UIImagePickerControllerOriginalImage];
  11. [self saveImage:_avatar WithName:@"userAvatar"];
  12. //处理完毕,回到个人信息页面
  13. [picker dismissViewControllerAnimated:YES completion:NULL];
  14. [_tableView reloadData];
  15. }
  1. //保存图片
  2. - (void)saveImage:(UIImage *)tempImage WithName:(NSString *)imageName
  3. {
  4. NSData* imageData = UIImagePNGRepresentation(tempImage);
  5. NSString* documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
  6. NSString* totalPath = [documentPath stringByAppendingPathComponent:imageName];
  7. //保存到 document
  8. [imageData writeToFile:totalPath atomically:NO];
  9. //保存到 NSUserDefaults
  10. NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
  11. [userDefaults setObject:totalPath forKey:@"avatar"];
  12. //上传服务器
  13. [[HSLoginClass new] uploadAvatar:totalPath];
  14. }
  15. //从document取得图片
  16. - (UIImage *)getImage:(NSString *)urlStr
  17. {
  18. return [UIImage imageWithContentsOfFile:urlStr];
  19. }

iOS 设置个人头像相关推荐

  1. ios 裁剪圆形头像_IOS_iOS如何裁剪圆形头像,本文实例为大家介绍了iOS裁剪 - phpStudy...

    iOS如何裁剪圆形头像 本文实例为大家介绍了iOS裁剪圆形头像的详细代码,供大家参考,具体内容如下 - (void)viewDidLoad { [super viewDidLoad]; //加载图片 ...

  2. 微信一键设置“姓氏头像”,学起来!

    哈喽,大家好.今天给大家带来一款特别的姓氏头像工具,可以给你的头像右下角加上自己的姓氏,速看效果! 是不是还蛮特别的?无论是安卓还是iOS用户都可以使用,接下来就教大家怎么操作. 小贴士:工具获取方式 ...

  3. iOS开发之头像裁剪

    iOS开发之头像裁剪  // //  CrapPhotoViewController.h //  StupidFM // //  Created by 寒竹子 on 15/6/18. //  Copy ...

  4. android 仿微信头像裁剪,Android仿微信QQ设置图形头像裁剪功能

    最近在做毕业设计,想有一个功能和QQ一样可以裁剪头像并设置圆形头像,额,这是设计狮的一种潮流. 而纵观现在主流的APP,只要有用户系统这个功能,这个需求一般都是在(bu)劫(de)难(bu)逃(xue ...

  5. 【绝对干货】仿微信QQ设置图形头像裁剪,让你的App从此炫起来~

    最近在做毕业设计,想有一个功能和QQ一样可以裁剪头像并设置圆形头像,额,这是设计狮的一种潮流. 而纵观现在主流的APP,只要有用户系统这个功能,这个需求一般都是在(bu)劫(de)难(bu)逃(xue ...

  6. iOS 设置View阴影

    iOS 设置View投影 需要设置 颜色 阴影半径 等元素 UIView *shadowView = [[UIView alloc] init];shadowView.frame = CGRectMa ...

  7. iOS 设置UILabel 的内边距

    iOS 设置UILabel 的内边距 - (void)drawTextInRect:(CGRect)rect {UIEdgeInsets insets = {0, 5, 0, 5};[super dr ...

  8. iOS 设置app语言中文,比如 copy中文,拍照按钮cancel 中文

    iOS 设置app语言中文,比如 copy中文,拍照按钮cancel 中文 一:如何设置项目中文环境 targets--->Locatization native development reg ...

  9. iOS 设置状态栏样式

    iOS设置状态栏样式可以使用两种方式. 方式一: 直接在需要改变默认状态栏样式的控制器中实现一个方法(其他任何事情都不用做): // 返回状态栏的样式 - (UIStatusBarStyle)pref ...

最新文章

  1. 机器学习之贝叶斯分类(python实现)
  2. centos 下 django 1.8 配置好后 admin 后台无法显示 样式解决办法
  3. 前端学习(1509):单页应用SPA特点
  4. C语言小游戏 ——推箱子
  5. 【Elasticsearch】需要监控的 10 大 Elasticsearch 指标
  6. UI设计需要学习什么软件?
  7. 吴恩达神经网络和深度学习-学习笔记-27-多任务学习
  8. 第一节:Create React App
  9. 找东西背后的概率问题——From《思考的乐趣 Martix67数学笔记》
  10. JMeter自动生成测试Report
  11. 不吹不黑,这5款浏览器安全无广告无弹窗,亲测好用
  12. JSON在线格式化,美化
  13. 英语语法笔记——名词性从句(三)
  14. 我的物联网大学【第13章】:王强的逆袭翻身
  15. 最强蜗牛换了手机找不到服务器,最强蜗牛服务器无响应怎么办 最强蜗牛进不去解决方法...
  16. linux桌面系统 5种经典的Linux桌面系统
  17. [生存志] 第73节 勾践隐忍灭吴
  18. 使用 Hadoop 开发企业级应用
  19. 软件测试有效性指标,如何衡量软件测试的有效性?
  20. QCombobox组合框的样式

热门文章

  1. IWS国际儿童及青少年水彩画大赛开始了
  2. JavaScript进阶(二)
  3. 你总是喜欢抓不住的东西
  4. 【注入】C# 构造注入的方法
  5. git——将github仓库克隆到本地
  6. ZT看不懂的中国历史:老蒋的智力竟然在50之下
  7. 快速批量修改文件名字
  8. html div 虚线边框样式,纯CSS实现渐变虚线框和边框滚动动画
  9. UltraEdit的注册码,版本:15.10.0.1026
  10. 手机游戏的发展及其上升空间