Holen Sie sich UIImage nur mit Eisvogel-Bibliothek
Ich brauche, um ein UIImage nur anstelle des Ladens ein normales UIImageView mit Eisvogel-Bibliothek
Klar, dass es implementiert habe ich einen workaround mit UIImageView:
let imageView = UIImageView()
imageView.kf_setImageWithURL(NSURL(string: cpa.imageName)!, placeholderImage: nil,
optionsInfo: [.Transition(ImageTransition.Fade(1))],
progressBlock: { receivedSize, totalSize in
print("\(receivedSize)/\(totalSize)")
},
completionHandler: { image, error, cacheType, imageURL in
anView!.image = image //anView IS NOT an UIImageView
anView!.frame.size = CGSize(width: 15.0, height: 15.0)
print("Finished")
})
Dieser code funktioniert perfekt, aber ich möchte es tun, in eine sauberere Möglichkeit.
Gibt es eine Methode, die in dieser Bibliothek um sich ein UIImage nur? Async und zwischengespeichert
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnten Sie die
retrieveImage(with:options:progressBlock: completionHandler:)
Methode derKingfisherManager
für diese.Vielleicht so etwas wie dieses:
KingfisherManager.shared.retrieveImage(with: url!, options: nil, progressBlock: nil) { (image, error, cacheType, imageURL) -> () in print(image) }
Mit dem neuen Swift 3-version, die Sie verwenden können, ImageDownloader :
ImageDownloader
ist ein Teil der Kingfisher-also vergessen Sie nichtimport Kingfisher
.cachePolicy: .reloadIgnoringLocalCacheData
das ist der Punkt, der mit Kinfisher über jede andere, einfachere MethodeDies ist die Letzte syntax zum herunterladen Bild in kingFisher 5 (Getestet im swift-4.2)
, Wie Aufruf der obigen Funktion
Anderen Weg in Kingfisher 5:
Swift 5
In Kingfisher 5
mehr sehen: https://github.com/onevcat/Kingfisher/wiki/Kingfisher-5.0-Migration-Guide