zoukankan      html  css  js  c++  java
  • iOS设置用户头像(从相册,图库或者拍照获取)

    ①初始化UIImagePickerController

    self.imagePicker=[[UIImagePickerController alloc] init];

     ②遵守协议

    @interface ViewController ()<UIImagePickerControllerDelegate,UINavigationControllerDelegate>

    //设置代理  
    _imagePicker.delegate=self;

       //可编辑

       _imagePicker.allowsEditing=YES;

       //设置头像图片圆角

        _selectedRightImage.layer.cornerRadius=100;
        _selectedRightImage.layer.borderWidth=6;
        _selectedRightImage.layer.masksToBounds=YES;
        _selectedRightImage.layer.borderColor=[[UIColor whiteColor] CGColor];
        self.selectedRightImage.userInteractionEnabled=YES;

    ⑤给图片添加点击事件

    UITapGestureRecognizer *tapPicture=[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(selectedImageForIcon)];
        [_selectedRightImage addGestureRecognizer:tapPicture];

    ⑥从相册,图库,相机获取图片

    -(void)selectedImageForIcon
    {
    
        UIAlertController *alertController=[UIAlertController alertControllerWithTitle:@"" message:@"" preferredStyle:UIAlertControllerStyleActionSheet];
        UIAlertAction *actionCamera=[UIAlertAction actionWithTitle:@"打开相机" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
            
            _imagePicker.sourceType=UIImagePickerControllerSourceTypeCamera;
            [self presentViewController:_imagePicker animated:YES completion:nil];
            
        }];
        
        UIAlertAction *actionPhotoLIbrary=[UIAlertAction actionWithTitle:@"打开相册" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
            
            _imagePicker.sourceType=UIImagePickerControllerSourceTypePhotoLibrary;
            [self presentViewController:_imagePicker animated:YES completion:nil];
            
        }];
        
        UIAlertAction *actionPhotoAlbum=[UIAlertAction actionWithTitle:@"打开图库" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
            
            _imagePicker.sourceType=UIImagePickerControllerSourceTypeSavedPhotosAlbum;
            [self presentViewController:_imagePicker animated:YES completion:nil];
            
        }];
        
        UIAlertAction *cancelAction=[UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:nil];
        
        [alertController addAction:actionCamera];
        
        [alertController addAction:actionPhotoAlbum];
        
        [alertController addAction:actionPhotoLIbrary];
        
        [alertController addAction:cancelAction];
        
        [self presentViewController:alertController animated:YES completion:nil];
    
    }

     
    实现这个方法就可以更换头像了!!!

    - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(nullable NSDictionary<NSString *,id> *)editingInfo
    {
    
    _selectedRightImage.image=image;
    [self dismissViewControllerAnimated:YES completion:nil];
    
    }

    最终效果图:

     

     

    一个人,一片天,一条路,一瞬间!
  • 相关阅读:
    mysq 日期相减
    说说时间观与时间管理——北漂18年(71)
    ionic之切换开关
    ionic之单选框
    SELECT ... LOCK IN SHARE MODE和SELECT ... FOR UPDATE locks在RR模式下可以看到最新的记录
    14.5.2.3 Consistent Nonlocking Reads 一致性非锁定读
    14.5.2.2 autocommit, Commit, and Rollback
    14.5.2 事务隔离级别
    对于唯一索引使用唯一条件搜索, InnoDB 只锁定找到的index record,不是它之前的区间
    mysql explain 解释
  • 原文地址:https://www.cnblogs.com/zcl410/p/4962562.html
Copyright © 2011-2022 走看看