加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Swift-Kingfisher图片下载库

发布时间:2020-12-14 01:33:12 所属栏目:百科 来源:网络整理
导读:import UIKitimport Kingfisherclass KingfisherViewController: UIViewController { let url = "http://img3.cache.netease.com/game/2014/7/2/20140702132129bebcf.jpg" @IBOutlet weak var loadedIamgeView: UIImageView! override func viewDidLoad() {
import UIKit
import Kingfisher

class KingfisherViewController: UIViewController {
    
    let url = "http://img3.cache.netease.com/game/2014/7/2/20140702132129bebcf.jpg"

    @IBOutlet weak var loadedIamgeView: UIImageView!
    override func viewDidLoad() {
        super.viewDidLoad()
        
        // Do any additional setup after loading the view.
    }

    /*
    //MARK: - 基本用法
    */
    @IBAction func request(sender: UIButton) {
        requestImage4()
    }
    
    /*
    //MARK: - 基本用法
    */
    func request0() -> Void{
        self.loadedIamgeView.kf_setImageWithURL(NSURL(string: url)!)
        //带有默认图片的用法
        self.loadedIamgeView.kf_setImageWithURL(NSURL(string: url)!,placeholderImage: nil)
    }
    
    
    /*
    //MARK: - Kingfisher是带有缓存的,在请求之前会在(内存或者硬盘)找此图片,如果没有才会发起网络请求
    如果你想每次都是从网络加载的图片,可以在一个参数字典中设置一下,让请求忽略点缓存
    */
    func requestImage1() -> Void{
        self.loadedIamgeView.kf_setImageWithURL(NSURL(string: url)!,placeholderImage: nil,optionsInfo:[.Options(KingfisherOptions.ForceRefresh)])
    }
    
    /*
    //MARK: - 请求下图片来后,会有一定时间的渐变  慢慢显示在ImageView上面
    */
    func requestImage2() -> Void{
        self.loadedIamgeView.kf_setImageWithURL(NSURL(string: url)!,optionsInfo: [.Transition(ImageTransition.Fade(1))])
    }
    
    /*
    //MARK: - 擦 怎么进度打印不出来啊  只能得到image、缓存类型、和image的地址
    */
    func requestImage3() -> Void{
        self.loadedIamgeView.kf_setImageWithURL(NSURL(string: url)!,optionsInfo: nil,progressBlock: { (receivedSize,totalSize) -> () in
                dispatch_async(dispatch_get_main_queue(),{ () -> Void in
                    print("receive(totalSize)")
                })
            }) { (image,error,cacheType,imageURL) -> () in
                print(image?.size.width)
        }
    }
    
    
    func requestImage4() -> Void{
        //kf_setImageWithURL 每个方法都会返回一个RetrieveImageTask的对象,可以调用cancel方法取消下载图片
        let task = self.loadedIamgeView.kf_setImageWithURL(NSURL(string: url)!)
        task.cancel()
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
    

    /*
    // MARK: - Navigation

    // In a storyboard-based application,you will often want to do a little preparation before navigation
    override func prepareForSegue(segue: UIStoryboardSegue,sender: AnyObject?) {
        // Get the new view controller using segue.destinationViewController.
        // Pass the selected object to the new view controller.
    }
    */

}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读