【发布时间】:2017-04-07 22:53:42
【问题描述】:
我有一个 UITableViewCell,其中包含多个数据,这些数据被组织成垂直堆栈布局。其中一些是垂直动态的,一个是 UILabel,一个是 UIImageView。
UIImageView 是我遇到的问题。我在 UITableViewCell 中设置了一个带有插座的高度约束。图片是异步加载的,所以 UITableViewCell 行的高度是错误的,我们只有在图片加载后才知道行的真实高度。当我在加载图像后将约束设置为更新为适当的纵横比时,我的 UITableView 变得完全不可靠,图像到处乱跳,格式也不能很好地工作。
我在 StackOverflow 中看到另一篇文章提到您应该预先检查图像,获取它们的宽度和高度,以便我们可以在加载图像之前确定并设置约束。这确实允许平滑滚动。
我的问题是:这是唯一的方法吗?是否有更好的技术来使用具有动态图像大小的 AutoLayout?他们会是什么?
我尝试过调用 setNeedsLayout、setNeedsUpdateConstraints、updateConstraintsIfNeeded 等...它们似乎都不起作用。
有什么建议吗?
詹姆斯
【问题讨论】:
标签: ios uitableview uiimageview ios-autolayout