我正在尝试使用UIImageView动态设置翠鸟。上下文是,在前面不同可选行的屏幕上有一个TableView,然后当选择该行时,UIView会显示包含更多信息(包括图像)的详细信息。我去了翠鸟的文档,发现声明和我一样属于viewDidLoad,但是我仍然无法加载图像。我还通过调试验证了传递给翠鸟的URL是图片的链接。我认为这可能与设置在后台线程上的图像有关,但如果是这样的话,我不知道如何修复。我尝试将翠鸟的实现移到viewWillAppear和viewDidAppear函数上,即使在等待时间延长之后,它们仍然不显示图像。
下面是我的代码,删除了一些不相关的功能。
import UIKit
import Kingfisher
class DetailsViewController: UIViewController {
@IBOutlet weak var thumbnail: UIImageView!
var thumbnailURL: URL?
override func viewDidLoad() {
super.viewDidLoad()
self.thumbnail.kf.setImage(with: thumbnailURL)
...................................................
// self.thumbnail.image = UIImage(named: "image1")
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}发布于 2018-03-08 16:20:37
kd02 -我找到了我的问题的答案。当您问它是http还是https时,我记得由于安全性的增强,现在必须在xcode 9中启用http。我这么做了现在起作用了。
发布于 2018-03-08 16:20:49
试试像这样的东西
import UIKit
import Kingfisher
class DetailsViewController: UIViewController {
@IBOutlet weak var thumbnail: UIImageView!
var thumbnailURL: URL?
override func viewDidLoad() {
super.viewDidLoad()
if let url = self.thumbnailURL {
self.thumbnail.setImage(with: url)
}
}
}我感觉到可选的URL导致了问题。
https://stackoverflow.com/questions/49177291
复制相似问题