【发布时间】:2018-03-20 15:58:01
【问题描述】:
我在自定义 UITableviewcell 中有一个 UIImageview 和几个其他组件,在一个单独的 xib 文件中,我将其加载到我的 UITableview 中,它位于 UIView 子类中并从 URL 动态分配图像。
现在的问题是,我想根据从 URL 获取的图像大小动态调整 UIImageview 和 Tableview 行的高度。我使用以下代码完成了这项工作,
if let bpImageUrls = singleComponent["picture_link"]{
cell.newsImage.sd_setShowActivityIndicatorView(true)
cell.newsImage.sd_setIndicatorStyle(.gray)
cell.newsImage.sd_setImage(with: URL(string: bpImageUrls as! String))
let imageData = NSData(contentsOf:URL(string: bpImageUrls as! String)!)
let myImage = UIImage(data: imageData! as Data)
let aspectRatio = ( myImage?.size.height)! / ( myImage?.size.width)!
cell.imageHeightConstraint.constant = UIScreen.main.bounds.size.width * aspectRatio
}
它就像一个魅力,但问题是,这会减慢 UITableview 的滚动事件,当我尝试异步下载图像并在主线程中更新视图时,它不起作用。
视图与 image 中的自动布局相关联,我已经为此苦苦挣扎了一段时间。任何见解都会有所帮助。谢谢。
【问题讨论】:
标签: ios swift3 uiimageview autolayout ios-autolayout