美文网首页
点击头像更换图片

点击头像更换图片

作者: 起个名字好难O0 | 来源:发表于2017-02-17 16:24 被阅读77次

    功能如下:

    1.点击头像,提示选择更换头像方式①相册 ②照相.

    2.点击相册,实现通过读取系统相册,获取图片进行替换.

    3.点击照相,通过摄像头照相,进行替换照片.

    4.如果摄像头,弹出框警告.

    代码如下:

    1.通过UIActionSheet对象实现提示功能

    
    
    //创建对象
    
    UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:
    
    @"提示" delegate:self cancelButtonTitle:@"取消"
    
    destructiveButtonTitle:nil otherButtonTitles:@"相册",@"拍照", nil nil];
    
    //在视图上展示
    
    [actionSheet showInView:self.view];
    
    [actionSheet release];
    
    

    2.实现相应代理事件,代理UIActionSheetDelegate,方法如下

    - (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:
    
    (NSInteger)buttonIndex {
    
    // 相册 0 拍照 1
    
    switch (buttonIndex) {
    
    case 0:
    
    //从相册中读取
    
    [self readImageFromAlbum];
    
    break;
    
    case 1:
    
    //拍照
    
    [self readImageFromCamera];
    
    break;
    
    default:
    
    break;
    
    }
    
    }
    
    

    3.实现从相册读取图片功能,代码如下
    [objc] view plain copy print?在CODE上查看代码片派生到我的代码片

    //从相册中读取
    
    - (void)readImageFromAlbum {
    
    //创建对象
    
    UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
    
    //(选择类型)表示仅仅从相册中选取照片
    
    imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
    
    //指定代理,因此我们要实现UIImagePickerControllerDelegate,
    
    UINavigationControllerDelegate协议
    
    imagePicker.delegate = self;
    
    //设置在相册选完照片后,是否跳到编辑模式进行图片剪裁。(允许用户编辑)
    
    imagePicker.allowsEditing = YES;
    
    //显示相册
    
    [self presentViewController:imagePicker animated:YES completion:nil];
    
    [imagePicker release];
    
    }
    
    

    4.实现拍照功能

    
    - (void)readImageFromCamera {
    
    if ([UIImagePickerController isSourceTypeAvailable:
    
    UIImagePickerControllerSourceTypeCamera]) {
    
    UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
    
    imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
    
    imagePicker.delegate = self;
    
    imagePicker.allowsEditing = YES; //允许用户编辑
    
    [self presentViewController:imagePicker animated:YES completion:nil];
    
    [imagePicker release];
    
    } else {
    
    //弹出窗口响应点击事件
    
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"警告"
    
    message:@"未检测到摄像头" delegate:nil cancelButtonTitle:nil
    
    otherButtonTitles:@"确定", nil nil];
    
    [alert show];
    
    [alert release];
    
    }
    
    }
    
    

    5.图片完成处理后提交,代理方法UIPickerControllerDelegate

    
    //图片完成之后处理
    
    - (void)imagePickerController:(UIImagePickerController *)picker
    
    didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo {
    
    //image 就是修改后的照片
    
    //将图片添加到对应的视图上
    
    [button setImage:image forState:UIControlStateNormal];
    
    //结束操作
    
    [self dismissViewControllerAnimated:YES completion:nil];
    
    }
    
    

    引入"http://blog.csdn.net/zfx5130/article/details/43203155"

    相关文章

      网友评论

          本文标题:点击头像更换图片

          本文链接:https://www.haomeiwen.com/subject/jqrlwttx.html