iOS 设置个人头像

初学者干货:

在使用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.      
  11.     _avatar = info[UIImagePickerControllerOriginalImage]; 
  12.  
  13.     [self saveImage:_avatar WithName:@"userAvatar"]; 
  14.  
  15.     //处理完毕,回到个人信息页面 
  16.     [picker dismissViewControllerAnimated:YES completion:NULL]; 
  17.     [_tableView reloadData]; 

 

  1. //保存图片 
  2. - (void)saveImage:(UIImage *)tempImage WithName:(NSString *)imageName 
  3.     NSData* imageData = UIImagePNGRepresentation(tempImage); 
  4.     NSString* documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; 
  5.     NSString* totalPath = [documentPath stringByAppendingPathComponent:imageName]; 
  6.      
  7.     //保存到 document 
  8.     [imageData writeToFile:totalPath atomically:NO]; 
  9.      
  10.     //保存到 NSUserDefaults 
  11.     NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; 
  12.     [userDefaults setObject:totalPath forKey:@"avatar"]; 
  13.      
  14.     //上传服务器 
  15.     [[HSLoginClass new] uploadAvatar:totalPath]; 
  16.  
  17. //从document取得图片 
  18. - (UIImage *)getImage:(NSString *)urlStr 
  19.     return [UIImage imageWithContentsOfFile:urlStr]; 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值