我正在研究UITableView
中提供的自动调整单元格。
除非我尝试将图片从UIImageView
设置为DispatchQueue
,否则它们效果不错。当我直接设置图像时,所有工作正常。
示例:
DispatchQueue.main.async {
self._thumbnailImageView.image = image
}
你能否分享一下我所遗漏的内容以及为什么DispatchQueue.main.async
阻止可能会影响细胞大小调整。
答案 0 :(得分:1)
我的猜测是你的调用堆栈已经让表视图知道它需要布局更新,但异步的没有。
添加
tableView.setNeedsLayout()
在异步块内查看是否有效。您可能只需要在单元格上执行此操作。
答案 1 :(得分:0)
DispatchQueue.global(qos: .userInteractive).async
由于服务质量等级。在我的情况下,我应该使用.userInteractive
。
与用户交互的工作,例如在main上操作 线程,刷新用户界面或执行动画。如果 工作不会很快发生,用户界面可能会出现冻结。 重点关注响应能力和绩效。
但实际上我需要更多解释为什么DispatchQueue.main.async
表现不佳。