您的位置:首页 > 产品设计 > UI/UE

iOS UI 16 图片加载第三方 SDwebimage

2015-12-13 16:25 525 查看
//

// RootViewController.m

// UI - 16 图片加载

//

// Created by dllo on 15/11/30.

// Copyright (c) 2015年 dllo. All rights reserved.

//

#import "RootViewController.h"

#import "UIImageView+WebCache.h"

#warning 1 加入头文件

@interface
RootViewController ()

@property (nonatomic,
retain)UIImageView *imagev;

@end

@implementation RootViewController

- (void)dealloc

{

[_imagev
release];

[super dealloc];

}

- (void)viewDidLoad {

[super
viewDidLoad];

self.view.backgroundColor = [UIColor
whiteColor];

UIButton *but = [UIButton
buttonWithType:UIButtonTypeCustom];

but.frame = CGRectMake(50, 500, 80, 50);

but.backgroundColor = [UIColor
purpleColor];

[but setTitle:@"下载图片"
forState:UIControlStateNormal];

[but addTarget:self
action:@selector(butAct)
forControlEvents:UIControlEventTouchUpInside];

[self.view
addSubview:but];

#warning 2 创建UIImageView

self.imagev = [[UIImageView
alloc]initWithFrame:CGRectMake(100, 100, 300, 200)];

[self.view
addSubview:self.imagev];

[self.imagev
release];

#warning 3 打开buliding prease
选第二个 ,
选中sd的所有方法(不是的有3个),
点回车,
在弹出框内输入-fobjc-arc
回车 .

// NSString *urlstr = @"http://img4.duitang.com/uploads/item/201207/28/20120728105310_jvAjW.thumb.600_0.jpeg";

// NSURL *url = [NSURL URLWithString:urlstr];

// //sd_ webImage方法(第一次下载,以后从本地取)

// [self.imagev sd_setImageWithURL:url];

//使用自己的方法

// [imagev sd_setImageWithURLStr:@"http://img4.duitang.com/uploads/item/201207/28/20120728105310_jvAjW.thumb.600_0.jpeg"];

//图片下载前给了个假图片

// [self.imagev sd_setImageWithURL:url placeholderImage:[UIImage imageNamed:@"20.jpg"]];

//sd_ webImage
通过key值找,key就是我们的url,先从缓存找

//失败后重试

// SDWebImageRetryFailed = 1 << 0,

//UI交互期间开始下载,导致延迟下载比如UIScrollView减速。

// SDWebImageLowPriority = 1 << 1,

//只进行内存缓存

// SDWebImageCacheMemoryOnly = 1 << 2,

//这个标志可以渐进式下载,显示的图像是逐步在下载

// SDWebImageProgressiveDownload = 1 << 3,

//刷新缓存

// SDWebImageRefreshCached = 1 << 4,

//后台下载

// SDWebImageContinueInBackground = 1 << 5,

//NSMutableURLRequest.HTTPShouldHandleCookies = YES;

// SDWebImageHandleCookies = 1 << 6,

//允许使用无效的SSL证书

//SDWebImageAllowInvalidSSLCertificates = 1 << 7,

//优先下载

// SDWebImageHighPriority = 1 << 8,

//延迟占位符

// SDWebImageDelayPlaceholder = 1 << 9,

//改变动画形象

// SDWebImageTransformAnimatedImage = 1 << 10,

// Do any additional setup after loading the view.

}

- (void)butAct

{

NSString *urlstr =
@"http://img4.duitang.com/uploads/item/201207/28/20120728105310_jvAjW.thumb.600_0.jpeg";

NSURL *url = [NSURL
URLWithString:urlstr];

//放个假图,
拼命加载

// [self.imagev sd_setImageWithURL:url placeholderImage:[UIImage imageNamed:@"20.jpg"]];

[self.imagev
sd_setImageWithURL:url placeholderImage:[UIImage
imageNamed:@"20.jpg"]
options: SDWebImageCacheMemoryOnly];

//缓存大小(图片)

[[SDWebImageManager
sharedManager].imageCache
calculateSizeWithCompletionBlock:^(NSUInteger fileCount,
NSUInteger totalSize) {

NSLog(@"缓存空间大小:%ld,总大小:%ld",fileCount,
totalSize);

}];

//清除内存缓存

[[SDWebImageManager
sharedManager].imageCache
clearMemory];

//清除磁盘缓存

[[SDWebImageManager
sharedManager].imageCache
clearDisk];

#warning 是clear不是clean

//ios7 以后还要加清除网络请求的缓存

[[NSURLCache
sharedURLCache] removeAllCachedResponses];

}

- (void)didReceiveMemoryWarning {

[super
didReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

/*

#pragma mark - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

// Get the new view controller using [segue destinationViewController].

// Pass the selected object to the new view controller.

}

*/

@end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: