//
// MainViewController.m
// SDText
//
// Created by lanou on 15/10/14.
// Copyright (c) 2015 年 蓝鸥科技 . All rights reserved.
//
#import "MainViewController.h"
#import "UIImageView+WebCache.h"
@interface MainViewController ()
@property ( weak , nonatomic ) IBOutlet UIImageView *imageView;
@property ( weak , nonatomic ) IBOutlet UIButton *downloadButton;
@property ( weak , nonatomic ) IBOutlet UIButton *clearButton;
@property ( weak , nonatomic ) IBOutlet UIButton *reloadButton;
@property ( weak , nonatomic ) IBOutlet UIView *testView;
@end
@implementation MainViewController
- ( void )viewDidLoad {
[ super viewDidLoad ];
// Do any additional setup after loading the view.
NSString *sandBoxPath = NSHomeDirectory ();
NSLog ( @"\n%@" ,sandBoxPath);
}
- ( IBAction )handleDownloadButtonAction:( UIButton *)sender {
NSURL *imageURL = [ NSURL URLWithString : IMAGE_URL ];
UIImage *placeholderImage = [ UIImage imageNamed : @"image" ];
//1. 通过 URL 设置图片
// [self.imageView sd_setImageWithURL:imageURL];
//2. 图片设置完成后 , 执行 Block 函数中的的代码块
// [self.imageView sd_setImageWithURL:imageURL completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {
// self.downloadButton.backgroundColor = [UIColor orangeColor];
// }];
// //3. 图片加载完成之前设置一个默认显示图片
// [self.imageView sd_setImageWithURL:imageURL placeholderImage:placeholderImage];
// 4. 图片加载完成显示默认图 , 完成后执行执行 Block 函数中的的代码块
// [self.imageView sd_setImageWithURL:imageURL placeholderImage:placeholderImage completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {
// self.downloadButton.backgroundColor = [UIColor orangeColor];
// }];
//5. 设置图片的加载方式
// [self.imageView sd_setImageWithURL:imageURL placeholderImage:placeholderImage options:SDWebImageProgressiveDownload];
/*
// 失败后重试
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,
*/
}
- ( IBAction )handleClearButtonAction:( UIButton *)sender {
self . imageView . image = nil ;
SDImageCache *imageCache = [ SDImageCache sharedImageCache ];
[imageCache clearMemory ];
[imageCache clearDisk ];
}
- ( IBAction )handleReloadButtonAction:( UIButton *)sender {
self . imageView . image = [ UIImage imageNamed : @"image" ];
[ self handleDownloadButtonAction : self . downloadButton ];
}
- ( IBAction )handleExecuteButtonAction:( UIButton *)sender {
SDWebImageManager *manager = [ SDWebImageManager sharedManager ];
[manager downloadImageWithURL :[ NSURL URLWithString : IMAGE_URL ] options : SDWebImageRetryFailed progress :^( NSInteger receivedSize, NSInteger expectedSize) {
[ UIView animateWithDuration : 1 animations :^{
self . testView . frame = CGRectMake ( 7 , 28 , 359 , 49 );
}];
} completed :^( UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished, NSURL *imageURL) {
self . imageView . image = image;
}];
}
- ( 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.
}
*/
// MainViewController.m
// SDText
//
// Created by lanou on 15/10/14.
// Copyright (c) 2015 年 蓝鸥科技 . All rights reserved.
//
#import "MainViewController.h"
#import "UIImageView+WebCache.h"
@interface MainViewController ()
@property ( weak , nonatomic ) IBOutlet UIImageView *imageView;
@property ( weak , nonatomic ) IBOutlet UIButton *downloadButton;
@property ( weak , nonatomic ) IBOutlet UIButton *clearButton;
@property ( weak , nonatomic ) IBOutlet UIButton *reloadButton;
@property ( weak , nonatomic ) IBOutlet UIView *testView;
@end
@implementation MainViewController
- ( void )viewDidLoad {
[ super viewDidLoad ];
// Do any additional setup after loading the view.
NSString *sandBoxPath = NSHomeDirectory ();
NSLog ( @"\n%@" ,sandBoxPath);
}
- ( IBAction )handleDownloadButtonAction:( UIButton *)sender {
NSURL *imageURL = [ NSURL URLWithString : IMAGE_URL ];
UIImage *placeholderImage = [ UIImage imageNamed : @"image" ];
//1. 通过 URL 设置图片
// [self.imageView sd_setImageWithURL:imageURL];
//2. 图片设置完成后 , 执行 Block 函数中的的代码块
// [self.imageView sd_setImageWithURL:imageURL completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {
// self.downloadButton.backgroundColor = [UIColor orangeColor];
// }];
// //3. 图片加载完成之前设置一个默认显示图片
// [self.imageView sd_setImageWithURL:imageURL placeholderImage:placeholderImage];
// 4. 图片加载完成显示默认图 , 完成后执行执行 Block 函数中的的代码块
// [self.imageView sd_setImageWithURL:imageURL placeholderImage:placeholderImage completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {
// self.downloadButton.backgroundColor = [UIColor orangeColor];
// }];
//5. 设置图片的加载方式
// [self.imageView sd_setImageWithURL:imageURL placeholderImage:placeholderImage options:SDWebImageProgressiveDownload];
/*
// 失败后重试
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,
*/
}
- ( IBAction )handleClearButtonAction:( UIButton *)sender {
self . imageView . image = nil ;
SDImageCache *imageCache = [ SDImageCache sharedImageCache ];
[imageCache clearMemory ];
[imageCache clearDisk ];
}
- ( IBAction )handleReloadButtonAction:( UIButton *)sender {
self . imageView . image = [ UIImage imageNamed : @"image" ];
[ self handleDownloadButtonAction : self . downloadButton ];
}
- ( IBAction )handleExecuteButtonAction:( UIButton *)sender {
SDWebImageManager *manager = [ SDWebImageManager sharedManager ];
[manager downloadImageWithURL :[ NSURL URLWithString : IMAGE_URL ] options : SDWebImageRetryFailed progress :^( NSInteger receivedSize, NSInteger expectedSize) {
[ UIView animateWithDuration : 1 animations :^{
self . testView . frame = CGRectMake ( 7 , 28 , 359 , 49 );
}];
} completed :^( UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished, NSURL *imageURL) {
self . imageView . image = image;
}];
}
- ( 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