UIImageView 注意点

2016-05-25  本文已影响338人  Mr丶炎

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;
        
    }];

上一篇下一篇

猜你喜欢

热点阅读