• SDWebImage动画加载图片


    SDWebImage动画加载图片

    效果

    源码

    https://github.com/YouXianMing/Animations

    //
    //  PictureCell.m
    //  SDWebImageLoadImageAnimation
    //
    //  Created by YouXianMing on 15/4/30.
    //  Copyright (c) 2015年 YouXianMing. All rights reserved.
    //
    
    #import "PictureCell.h"
    #import "UIImageView+WebCache.h"
    #import "PictureModel.h"
    #import "UIView+AnimationProperty.h"
    
    @interface PictureCell ()
    
    @property (nonatomic, strong) UIImageView *iconImageView;
    
    @end
    
    @implementation PictureCell
    
    - (void)setupCell {
    
        self.selectionStyle = UITableViewCellSelectionStyleNone;
    }
    
    - (void)buildSubview {
    
        self.iconImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 200, 200)];
        [self addSubview:self.iconImageView];
    }
    
    - (void)loadContent {
    
        // 图片模型
        PictureModel *model = self.data;
        
        // 进行图片下载
        SDWebImageManager *manager = [SDWebImageManager sharedManager];
        
        // 加载图片(动画逻辑)
        [manager downloadImageWithURL:model.pictureUrl options:0 progress:nil
                            completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished, NSURL *imageURL) {
                                
                                if (image) {
                                    
                                    // 如果没有执行过动画
                                    if (model.haveAnimated.boolValue == NO) {
                                        
                                        // 将动画设置成已经执行了
                                        model.haveAnimated = @(YES);
                                        
                                        self.iconImageView.alpha = 0.f;
                                        self.iconImageView.image = image;
                                        self.iconImageView.scale = 2.f;
                                        
                                        // 执行动画
                                        [UIView animateWithDuration:0.5f animations:^{
                                            
                                            self.iconImageView.alpha = 1.f;
                                            self.iconImageView.scale = 1.f;
                                        }];
                                        
                                    } else {
                                        
                                        // 直接设置
                                        self.iconImageView.image = image;
                                        self.iconImageView.scale = 1.f;
                                    }
                                }
                            }];
    }
    
    @end

    细节

  • 相关阅读:
    2015南阳CCPC G
    2015南阳CCPC D
    2015南阳CCPC C
    2015南阳CCPC A
    Codeforces Round #327 (Div. 2) E. Three States bfs
    Codeforces Round #327 (Div. 2) B. Rebranding 模拟
    Codeforces Round #327 (Div. 2)C. Median Smoothing 构造
    SEO那些事:一句代码一键分享网站
    用原型链的方式写一个类和子类
    用原型链的方式写一个类和子类
  • 原文地址:https://www.cnblogs.com/YouXianMing/p/5093699.html
Copyright © 2020-2023  润新知