我有一个uitableviewcontroller,我正在尝试使用设置为uimageview的图像填充单元格(就像Facebook帖子一样)。还有其他标签和autolayout用于定义tableviewcell内的位置。
我正在使用Kingfisher库异步下载图像。问题是uiimageview不知道正在下载的图像的高度,因此它使用Aspect fit根据uiimageview高度设置图像。当我创建约束IB出口到高度约束并尝试以编程方式设置uiimageview的高度时,行为仍然相同但在滚动时会发生变化,即imageview会根据图像大小增大或缩小。
请指导如何使用autolayout在uitableview单元格内异步加载图像的一般原则,以便实现所需的加载。我无法知道apriori图像的高度。
let imageArr = post.postMessage!.imageUrl!.characters.split{$0 == " "}.map(String.init)
self.postImageView.kf_setImageWithURL(NSURL(string: imageArr[0])!,
placeholderImage: nil,
optionsInfo: nil,
progressBlock: { (receivedSize, totalSize) -> () in
print("Download Progress: \(receivedSize)/\(totalSize)")
},
completionHandler: { (image, error, cacheType, imageURL) -> () in
self.imageHeightConstraint.constant = image!.size.height
}
)