//
// ViewController.swift
// SDWebImage使用
//
// Created by admin on 16/2/24.
// Copyright © 2016年 jin. All rights reserved.
//
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var slider: UISlider!
let imageView = UIImageView(frame: CGRectMake(0, 0, 200, 300))
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
self.downloadC()
// 属性解释
SDWebImageOptions.RetryFailed// 失败重新下载
SDWebImageOptions.CacheMemoryOnly// 只缓存在内存缓存
SDWebImageOptions.LowPriority// ui更新的时候暂停下载图片
self.view.addSubview(imageView)
}
// 渐近式
func downloadC()
{
imageView.sd_setImageWithURL(NSURL(string: "http://b.hiphotos.baidu.com/image/pic/item/42166d224f4a20a43721cde195529822720ed0dd.jpg"), placeholderImage: nil, options: SDWebImageOptions.ProgressiveDownload, completed: nil)
}
// 一般使用
func downloadA()
{
imageView.sd_setImageWithURL(NSURL(string: "http://b.hiphotos.baidu.com/image/pic/item/42166d224f4a20a43721cde195529822720ed0dd.jpg"), placeholderImage: nil, options: SDWebImageOptions.CacheMemoryOnly, completed: nil)
}
// 显示进度
func downloadB()
{
// 进度函数
let progress:SDWebImageDownloaderProgressBlock = {
// 参数对应已经下载的大小和文件总大小
(downloadSize:Int,totalSize:Int) in
print(Float(downloadSize) / Float(totalSize))
NSOperationQueue.mainQueue().addOperationWithBlock({ [weak self] () -> Void in
self?.slider.value = Float(downloadSize) / Float(totalSize)
})
}
// 下载完成函数
let complation:SDWebImageCompletionBlock = {
(image:UIImage!, error:NSError!, sdCacheType:SDImageCacheType, url:NSURL!) in
print("下载完成啦")
}
// 下载时更新进度条
imageView.sd_setImageWithURL(NSURL(string: "http://b.hiphotos.baidu.com/image/pic/item/42166d224f4a20a43721cde195529822720ed0dd.jpg"), placeholderImage: nil, options: SDWebImageOptions.CacheMemoryOnly, progress: progress, completed: complation)
}
}