美文网首页
UIImageView 注意点

UIImageView 注意点

作者: Mr丶炎 | 来源:发表于2016-05-25 22:28 被阅读338次

    1、 UIImageView的监听方法
    2、 如何将图片保存到本地相册
    3、 SDWebImage的常用方法

    一、在很多时候,UIImageView都有与用户进行交互,但它和UIButton不同, 在不设置的情况下,点击图片是不可以监听的 , 下面是两个要点

        // 图片点击
        // 开启用户交互
        self.imageView.userInteractionEnabled = YES;
        // 添加手势识别器
        [self.imageView addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(showPicture)]];
    

    二、将图片保存到本地, 用UIImageWriteToSavedPhotosAlbum方法

    // 保存
    - (IBAction)saveAction {
        
        if (self.imageView.image == nil) {
            [SVProgressHUD showErrorWithStatus:@"图片并没有下载完毕"];
            return;
        }
        
        // 保存图片到本地, 要用下面的那个方法
        UIImageWriteToSavedPhotosAlbum(self.imageView.image, self, @selector(image:didFinishSavingWithError:contextInfo:), nil);
        
    }
    
    // 存储图片
    - (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo {
        
        if (error) {
            [SVProgressHUD showErrorWithStatus:@"保存失败!"];
        } else {
            [SVProgressHUD showSuccessWithStatus:@"保存成功!"];
        }   
    }
    
    

    三、SDWebImage 监听图片下载, 在使用SDWebImage的时候,要设置是否明文

    Snip20160526_1.png
    [imageView sd_setImageWithURL:[NSURL URLWithString:self.topic.large_image]  placeholderImage:nil options:0 progress:^(NSInteger receivedSize, NSInteger expectedSize) {
            
            self.progressView.hidden = NO;
            [self.progressView setProgress:1.0 * receivedSize / expectedSize animated:YES];
            
        } completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {
            self.progressView.hidden = YES;
            
        }];
    
    

    相关文章

      网友评论

          本文标题:UIImageView 注意点

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