我正在尝试在 UITableViewController 内的两个元素之间添加约束,但到目前为止,我还无法做到。 UIImage View 在 UITableViewController 内部,但在 UITableView Cell 外部。
我既不能使用 StoryBoard,也不能以编程方式添加约束,因为 Xcode 告诉我不能在将要重用的对象上添加约束。
我尝试添加约束的原因是 UIImageView 会根据下载的图像大小动态调整大小。当由于某种原因无法下载图像时,它会使用默认图像,整个布局就会崩溃。
这是我的 tableView 的样子:
Best Answer-推荐答案 strong>
您可以考虑将您的 UIImageView 包装到 UITableViewCell 中,并将其作为 UITableView 中的第一个单元格。此外,您可以将表格 View 中单元格的层次结构分解为 2 个部分,这样可以简化对单元格的跟踪。所以第一部分将仅包含 UIImageView 单元格,第二部分将包含您的主单元格。
每当您从网络请求中获得表明已获取图像的响应时,您都可以调用 tableView.reloadSections(IndexSet(integer: 0), with: .none) 并在委托(delegate)方法返回正确的高度
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) {
if indexPath.section == 0 {
return imageHeight
}
}
关于ios - 在 UIImageView 和 UITableViewCell 之间添加 NSLayoutConstraint,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/44504225/
|