• PlaceholderImageView


    PlaceholderImageView

    说明

    1. PlaceHolderImageView基于SDWebImage编写

    2. 给定一个图片的urlString,以及一个placeholderImage就可以优雅的显示图片加载效果

    效果

    源码

    PlaceholderImageView.h/.m
    //
    //  PlaceholderImageView.h
    //  SDWebImageViewPlaceHorder
    //
    //  Created by YouXianMing on 16/9/14.
    //  Copyright © 2016年 YouXianMing. All rights reserved.
    //
    
    #import <UIKit/UIKit.h>
    
    @interface PlaceholderImageView : UIView
    
    /**
     *  Picture's url string.
     */
    @property (nonatomic, strong) NSString *urlString;
    
    /**
     *  The placeholder's image.
     */
    @property (nonatomic, strong) UIImage  *placeholderImage;
    
    /**
     *  Default is UIViewContentModeScaleAspectFill.
     */
    @property (nonatomic) UIViewContentMode placeholderImageContentMode;
    
    /**
     *  Default is UIViewContentModeScaleAspectFill.
     */
    @property (nonatomic) UIViewContentMode contentImageContentMode;
    
    @end
    ImageCell.h/.m
    //
    //  ImageCell.h
    //  SDWebImageViewPlaceHorder
    //
    //  Created by YouXianMing on 16/9/14.
    //  Copyright © 2016年 YouXianMing. All rights reserved.
    //
    
    #import <UIKit/UIKit.h>
    #import "PlaceholderImageView.h"
    
    @interface ImageCell : UITableViewCell
    
    @property (nonatomic, strong) PlaceholderImageView  *placeholderImageView;
    
    @end
    //
    //  ImageCell.m
    //  SDWebImageViewPlaceHorder
    //
    //  Created by YouXianMing on 16/9/14.
    //  Copyright © 2016年 YouXianMing. All rights reserved.
    //
    
    #import "ImageCell.h"
    
    
    @implementation ImageCell
    
    - (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
    
        if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
            
            self.selectionStyle = UITableViewCellSelectionStyleNone;
            
            self.placeholderImageView                  = [[PlaceholderImageView alloc] initWithFrame:CGRectMake(0, 0, 150.f, 150.f)];
            self.placeholderImageView.placeholderImage = [UIImage imageNamed:@"1"];
            [self addSubview:self.placeholderImageView];
        }
        
        return self;
    }
    
    @end
    ViewController.m
    //
    //  ViewController.m
    //  SDWebImageViewPlaceHorder
    //
    //  Created by YouXianMing on 16/9/14.
    //  Copyright © 2016年 YouXianMing. All rights reserved.
    //
    
    #import "ViewController.h"
    #import "UIImageView+WebCache.h"
    #import "PlaceholderImageView.h"
    #import "ImageCell.h"
    
    @interface ViewController () <UITableViewDelegate, UITableViewDataSource>
    
    @property (nonatomic, strong) UITableView  *tableView;
    @property (nonatomic, strong) NSArray      *pictures;
    
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        
        [super viewDidLoad];
        
        self.pictures = @[@"https://pic.cnblogs.com/avatar/607542/20151017230728.png",
                          @"https://pic.cnblogs.com/face/607741/20140226202001.png",
                          @"https://pic.cnblogs.com/face/815231/20150923160245.png",
                          @"https://pic.cnblogs.com/face/993558/20160729092113.png",
                          @"https://pic.cnblogs.com/face/894202/20160217151952.png",
                          @"https://pic.cnblogs.com/face/968459/20160709111712.png",
                          @"https://pic.cnblogs.com/face/145865/20160210174306.png",
                          @"https://pic.cnblogs.com/face/796658/20151026090914.png",
                          @"https://pic.cnblogs.com/face/933887/20160629214007.png",
                          @"https://pic.cnblogs.com/face/125303/20130313094252.png",
                          @"https://pic.cnblogs.com/face/976232/20160730173456.png",
                          @"https://pic.cnblogs.com/face/969708/20160602120239.png",
                          @"https://pic.cnblogs.com/face/954541/20160705113740.png",
                          @"https://pic.cnblogs.com/face/799942/20150818204115.png"];
        
        PlaceholderImageView *pImageView = [[PlaceholderImageView alloc] initWithFrame:CGRectMake(0, 0, 150.f, 150.f)];
        [self.view addSubview:pImageView];
        pImageView.urlString = @"https://pic.cnblogs.com/avatar/607542/20151017230728.png";
        
        self.tableView            = [[UITableView alloc] initWithFrame:self.view.bounds];
        self.tableView.delegate   = self;
        self.tableView.dataSource = self;
        self.tableView.rowHeight  = 150.f;
        [self.view addSubview:self.tableView];
        
        [self.tableView registerClass:[ImageCell class] forCellReuseIdentifier:@"ImageCell"];
    }
    
    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    
        return _pictures.count;
    }
    
    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    
        ImageCell *cell = [tableView dequeueReusableCellWithIdentifier:@"ImageCell"];
        cell.placeholderImageView.urlString = _pictures[indexPath.row];
        
        return cell;
    }
    
    @end
  • 相关阅读:
    np.clip()的用法
    np.random.RandomState(123)
    torch.utils.data.DataLoader用法及各参数含义
    source 1.7 中不支持 lambda 表达式(请使用 -source 8 或更高版本以启用 lambda 表达式)
    tensorflow note
    tensorflow-gpu install check
    python3 yum not found
    Python打包成exe,pyc
    windows定时执行python脚本
    docker guide
  • 原文地址:https://www.cnblogs.com/YouXianMing/p/5838549.html
Copyright © 2020-2023  润新知