iOS之设置头像(访问系统相册、本地上传)

  1  
  2 
  3 1.
  4 
  5 UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:                               @"设置头像" delegate:self cancelButtonTitle:@"取消"                       destructiveButtonTitle:nil otherButtonTitles:@"选择本地图片",@"拍照", nil];
  6 
  7     [actionSheet showInView:self.view];
  8 
  9  
 10 
 11 //2.实现相应代理事件,代理UIActionSheetDelegate,方法如下
 12 
 13  
 14 
 15 - (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:                                                       (NSInteger)buttonIndex {
 16 
 17     // 相册 0 拍照 1
 18 
 19     switch (buttonIndex) {
 20 
 21         case 0:
 22 
 23             //从相册中读取
 24 
 25             [self readImageFromAlbum];
 26 
 27             break;
 28 
 29         case 1:
 30 
 31             //拍照
 32 
 33         [self readImageFromCamera];
 34 
 35         break;
 36 
 37         default:
 38 
 39         break;
 40 
 41     }
 42 
 43 }
 44 
 45  
 46 
 47 //3.实现从相册读取图片功能,代码如下
 48 
 49  
 50 
 51  
 52 
 53 //从相册中读取
 54 
 55 - (void)readImageFromAlbum {
 56 
 57     //创建对象
 58 
 59     UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
 60 
 61     //(选择类型)表示仅仅从相册中选取照片
 62 
 63     imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
 64 
 65     //指定代理,因此我们要实现UIImagePickerControllerDelegate,                                                 UINavigationControllerDelegate协议
 66 
 67     imagePicker.delegate = self;
 68 
 69     //设置在相册选完照片后,是否跳到编辑模式进行图片剪裁。(允许用户编辑)
 70 
 71     imagePicker.allowsEditing = YES;
 72 
 73     //显示相册
 74 
 75     [self presentViewController:imagePicker animated:YES completion:nil];
 76 
 77 }
 78 
 79  
 80 
 81 //4.实现拍照功能
 82 
 83  
 84 
 85 - (void)readImageFromCamera {
 86 
 87     if ([UIImagePickerController isSourceTypeAvailable:                                           UIImagePickerControllerSourceTypeCamera]) {
 88 
 89         UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];         imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;         imagePicker.delegate = self;
 90 
 91         imagePicker.allowsEditing = YES;
 92 
 93         //允许用户编辑
 94 
 95         [self presentViewController:imagePicker animated:YES completion:nil];
 96 
 97     } else {
 98 
 99         //弹出窗口响应点击事件
100 
101         UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"警告"                         message:@"未检测到摄像头" delegate:nil cancelButtonTitle:nil                                                 otherButtonTitles:@"确定", nil];
102 
103         [alert show];
104 
105     }
106 
107 }
108 
109  
110 
111 //5.图片完成处理后提交,代理方法UIPickerControllerDelegate
112 
113  
114 
115 //图片完成之后处理
116 
117 - (void)imagePickerController:(UIImagePickerController *)picker        didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo {
118 
119     //image 就是修改后的照片
120 
121     //将图片添加到对应的视图上
122 
123     [_headImageView setImage:image];
124 
125     //结束操作
126 
127     [self dismissViewControllerAnimated:YES completion:nil];
128 
129 }
130 
131  

 

posted @ 2016-01-28 14:43  Jaycee麦子  阅读(1763)  评论(0编辑  收藏  举报