123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- //
- // O2Alam.swift
- // O2Platform
- //
- // Created by 刘振兴 on 2016/12/16.
- // Copyright © 2016年 zoneland. All rights reserved.
- //
- import ImageSlideshow
- import Alamofire
- import AlamofireImage
- import CocoaLumberjack
- public class O2AlamofireSource: NSObject, InputSource {
- var url: URL
-
- public init(url: URL) {
- self.url = url
- super.init()
- }
-
- // var imageHeight:CGFloat {
- // get {
- // var tmp = CGFloat(142.0)
- // let deviceName = UIDevice.deviceModelReadable()
- // switch deviceName {
- // case "iPhone 5","iPhone 5C","iPhone 5S","iPhone SE":
- // tmp = CGFloat(142.0)
- // case "iPhone 6","iPhone 6S","iPhone 7":
- // tmp = CGFloat(172.0)
- // case "iPhone 6 Plus","iPhone 6S Plus","iPhone 7 Plus":
- // tmp = CGFloat(202.0)
- // default:
- // tmp = CGFloat(142.0)
- // }
- // return tmp
- // }
- // }
-
- public init?(urlString: String) {
- if let validUrl = URL(string: urlString) {
- self.url = validUrl
- super.init()
- } else {
- return nil
- }
- }
-
- public func load(to imageView: UIImageView, with callback: @escaping (_ image: UIImage?) -> Void){
- // let frame = imageView.bounds
- // if frame.width <= 0 || frame.height <= 0 {
- // let height = SCREEN_WIDTH / 2
- // imageView.bounds = CGRect(x: 0, y: 0, w: SCREEN_WIDTH, h: height)
- // }
- // imageView.hnk_setImageFromURL(self.url, placeholder: UIImage(named: "pic_lunbo_1"), format: nil, failure: { (error) in
- // DDLogError("下载图片异常\(String(describing: error))")
- // callback(nil)
- // }) { (newImage) in
- // imageView.image = newImage
- // callback(newImage)
- // }
-
- let config = ImageDownloader.defaultURLSessionConfiguration()
- let imageDownloader = ImageDownloader(configuration: config,
- downloadPrioritization: .fifo,
- maximumActiveDownloads: 10,
- imageCache: AutoPurgingImageCache())
- //ImageFilter
- let height = SCREEN_WIDTH / 2
- let imageFilter = ScaledToSizeFilter(size: CGSize(width: SCREEN_WIDTH, height: height))
- //placeholderImage
- imageView.af_imageDownloader = imageDownloader
- // let tempURL = URL(string: "http://d.ifengimg.com/mw978_mh598/p0.ifengimg.com/cmpp/2018/03/21/06/530de4b1-3127-4a9b-b764-efa3444d04e0_size275_w1024_h768.jpg")!
- var urlRequest = URLRequest(url: self.url)
- urlRequest.addValue("application/json", forHTTPHeaderField: "Content-Type")
- imageView.af_setImage(withURLRequest: urlRequest, placeholderImage: UIImage(named: "pic_lunbo_1"), filter: imageFilter, progress: nil, progressQueue: DispatchQueue.main, imageTransition: .crossDissolve(0.1), runImageTransitionIfCached: false) { (response) in
- print(response)
- if let value = response.data {
- let newImage = UIImage(data: value)
- imageView.image = newImage
- callback(newImage)
- }
- // if let value = response.result.value {
- // let newImage = value
- // // let newImage = UIImage.scaleTo(image: value, w: SCREEN_WIDTH , h: self.imageHeight)
- // imageView.image = newImage
- // callback(newImage)
- // }
- }
- }
-
- // public func load(to imageView: UIImageView, with callback: @escaping (UIImage) -> ()) {
- //
- // let config = ImageDownloader.defaultURLSessionConfiguration()
- // let imageDownloader = ImageDownloader(configuration: config,
- // downloadPrioritization: .fifo,
- // maximumActiveDownloads: 10,
- // imageCache: AutoPurgingImageCache())
- // //ImageFilter
- // let imageFilter = ScaledToSizeFilter(size: CGSize(width:SCREEN_WIDTH,height:self.imageHeight))
- // //placeholderImage
- //
- // imageView.af_imageDownloader = imageDownloader
- //// let tempURL = URL(string: "http://d.ifengimg.com/mw978_mh598/p0.ifengimg.com/cmpp/2018/03/21/06/530de4b1-3127-4a9b-b764-efa3444d04e0_size275_w1024_h768.jpg")!
- // var urlRequest = URLRequest(url: self.url)
- // urlRequest.addValue("application/json", forHTTPHeaderField: "Content-Type")
- // imageView.af_setImage(withURLRequest: urlRequest, placeholderImage: UIImage(named: "pic_lunbo_1"), filter: imageFilter, progress: nil, progressQueue: DispatchQueue.main, imageTransition: .crossDissolve(0.1), runImageTransitionIfCached: false) { (response) in
- // if let value = response.result.value {
- // let newImage = value
- // // let newImage = UIImage.scaleTo(image: value, w: SCREEN_WIDTH , h: self.imageHeight)
- // imageView.image = newImage
- // callback(newImage)
- // }
- // }
- // }
-
- }
|