SDimage

本文深入探讨了iOS开发中的Swift编程语言,分享了实际项目中使用的高效编码实践和最佳编程习惯,帮助开发者提高开发效率并创建高质量的应用程序。
//
//  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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值