26、[ iOS ] 头像上传

作者: 天听云道 | 来源:发表于2016-03-05 12:23 被阅读703次

    在此之前我们要先实现这两个代理协议
    <UIImagePickerControllerDelegate,UINavigationControllerDelegate>,
    然后要导入 MBProgressHUD 这个第三方。

    /**
     * 功能:头像上传
     */
        // ------系统相册
        UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
        imagePicker.editing                  = YES;
        imagePicker.allowsEditing            = YES;
        imagePicker.delegate                 = self;
       
        UIAlertController *alertController     = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet];
        
        // ------拍照
        UIAlertAction *PicAction     = [UIAlertAction actionWithTitle:@"拍照" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
          
            // ------判断相机是否可用
            if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
                
                imagePicker.sourceType  = UIImagePickerControllerSourceTypeCamera;
                [self presentViewController:imagePicker animated:YES completion:nil];
           
            }else {
                
                MBProgressHUD *mbHUD   = [[MBProgressHUD alloc] initWithView:self.view];
                mbHUD.mode             = MBProgressHUDModeText;
                mbHUD.labelText        = @"该相机不可使用";
                [mbHUD show:YES];
                [mbHUD hide:YES afterDelay:1];
                [self.view addSubview:mbHUD];
            }
        }];
        
        // ------从手机相册选择
        UIAlertAction *PhotoAction   = [UIAlertAction actionWithTitle:@"从手机相册选择" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
            
            imagePicker.sourceType   = UIImagePickerControllerSourceTypePhotoLibrary;
            [self presentViewController:imagePicker animated:YES completion:nil];
            
        }];
        // ------取消
        UIAlertAction *cancelAction  = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:nil];
        
        [alertController addAction:PicAction];
        [alertController addAction:PhotoAction];
        [alertController addAction:cancelAction];
        [self presentViewController:alertController animated:YES completion:nil];
     
    }
    
    #pragma mark - **************** UIImagePickerController
    
    - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info {
        
        [self dismissViewControllerAnimated:YES completion:nil];
        
        // ------原始图片
        UIImage *OriginalImage = [info objectForKey:UIImagePickerControllerOriginalImage];
       
        // ------编辑后的图片
    //    UIImage *editImage = [info objectForKey:UIImagePickerControllerEditedImage];
        
        // ------上传操作
        
    }
    注意:这里的头像上传并不是指上传到服务器。
    

    相关文章

      网友评论

        本文标题:26、[ iOS ] 头像上传

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