zoukankan      html  css  js  c++  java
  • iOS -根据网络状态加载图片

    #import <UIImageView+WebCache.h>
    #import "SDWebImage.h"
    #import <AFNetworking.h>
    
    /** 小图 */
    @property (nonatomic, copy) NSString *image0;
    /** 中图 */
    @property (nonatomic, copy) NSString *image2;
    /** 大图 */
    @property (nonatomic, copy) NSString *image1;
    
    // 占位图片
        UIImage *placeholder = nil;
        // 根据网络状态来加载图片
        AFNetworkReachabilityManager *mgr = [AFNetworkReachabilityManager sharedManager];
        // 获得原图(SDWebImage的图片缓存是用图片的url字符串作为key)
        UIImage *originImage = [[SDImageCache sharedImageCache] imageFromDiskCacheForKey:topic.image1];
        if (originImage) { // 原图已经被下载过
            self.imageView.image = originImage;
        } else { // 原图并未下载过
            if (mgr.isReachableViaWiFi) {
                [self.imageView sd_setImageWithURL:[NSURL URLWithString:topic.image1] placeholderImage:placeholder];
            } else if (mgr.isReachableViaWWAN) {
    #warning downloadOriginImageWhen3GOr4G配置项的值需要从沙盒里面获取
                // 3G4G网络下时候要下载原图
                BOOL downloadOriginImageWhen3GOr4G = YES;
                if (downloadOriginImageWhen3GOr4G) {
                    [self.imageView sd_setImageWithURL:[NSURL URLWithString:topic.image1] placeholderImage:placeholder];
                } else {
                    [self.imageView sd_setImageWithURL:[NSURL URLWithString:topic.image0] placeholderImage:placeholder];
                }
            } else { // 没有可用网络
                UIImage *thumbnailImage = [[SDImageCache sharedImageCache] imageFromDiskCacheForKey:topic.image0];
                if (thumbnailImage) { // 缩略图已经被下载过
                    self.imageView.image = thumbnailImage;
                } else { // 没有下载过任何图片
                    // 占位图片;
                    self.imageView.image = placeholder;
                }
            }
        }
  • 相关阅读:
    Linux内核之旅 链表实现
    Linux内核之旅 List_entry()
    希尔排序
    华为2013校园招聘上机笔试题 ---2 字符串处理转换
    编程求凸包点集
    练习一:SQLite基本操作
    java实现单链表反转
    android-数据存储之外部file存储(sdcard)
    android-数据存储之手机内部file存储
    android-数据存储之SharedPreferences
  • 原文地址:https://www.cnblogs.com/StevenHuSir/p/10119930.html
Copyright © 2011-2022 走看看