zoukankan      html  css  js  c++  java
  • 新浪微博客户端(31)-显示相册图片上的GIF标记

    DJStatusPhotoView.h

    #import <UIKit/UIKit.h>
    
    @class DJPhoto;
    @interface DJStatusPhotoView : UIImageView
    
    @property (nonatomic,strong) DJPhoto *photo;
    
    @end

    DJStatusPhotoView.m

    #import "DJStatusPhotoView.h"
    #import "UIImageView+WebCache.h"
    #import "DJPhoto.h"
    
    
    
    @interface DJStatusPhotoView()
    
    // GIF标记
    @property (nonatomic,weak) UIImageView *gifView;
    
    @end
    
    
    @implementation DJStatusPhotoView
    
    
    - (UIImageView *)gifView {
    
    
        if (!_gifView) {
            UIImage *gifImage = [UIImage imageNamed:@"timeline_image_gif"];
            UIImageView *gifView = [[UIImageView alloc] initWithImage:gifImage];
            [self addSubview:gifView];
            _gifView = gifView;
        }
        return _gifView;
    }
    
    
    
    
    - (void)setPhoto:(DJPhoto *)photo {
    
        _photo = photo;
    
        // 设置显示图片
        [self sd_setImageWithURL:[NSURL URLWithString:photo.thumbnail_pic] placeholderImage:[UIImage imageNamed:@"timeline_image_placeholder"]];
        
        // 根据图片类型判断是否显示GIF标记(注意cell会重复利用)
        self.gifView.hidden = ![photo.thumbnail_pic.lowercaseString hasSuffix:@"gif"];
        
    //    DJLog(@"%@",photo.thumbnail_pic);
        
        
    }
    
    
    // 调整gifView的位置(由于使用的是initWithImage创建,所以gifView有宽和高,因此只需要设置x,y值即可)
    - (void)layoutSubviews {
    
        [super layoutSubviews];
        self.gifView.x = self.width - self.gifView.width;
        self.gifView.y = self.height - self.gifView.height;
        
    }
    
    
    
    
    @end

    最终效果:

  • 相关阅读:
    蜘蛛禁止访问文件
    基于PhalApi的Smarty拓展 (视图层的应用)
    MySQL数据库存表情
    查看PHP版本等相关信息
    读取数据库表信息
    nginx简介
    Redis发布订阅
    Redis持久化
    Redis主从复制
    Redis的Java客户端Jedis
  • 原文地址:https://www.cnblogs.com/yongdaimi/p/6094813.html
Copyright © 2011-2022 走看看