OStack程序员社区-中国程序员成长平台

标题: ios - 在 UIImageView 和 UITableViewCell 之间添加 NSLayoutConstraint [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 01:39
标题: ios - 在 UIImageView 和 UITableViewCell 之间添加 NSLayoutConstraint

我正在尝试在 UITableViewController 内的两个元素之间添加约束,但到目前为止,我还无法做到。 UIImage View 在 UITableViewController 内部,但在 UITableView Cell 外部。

我既不能使用 StoryBoard,也不能以编程方式添加约束,因为 Xcode 告诉我不能在将要重用的对象上添加约束。

我尝试添加约束的原因是 UIImageView 会根据下载的图像大小动态调整大小。当由于某种原因无法下载图像时,它会使用默认图像,整个布局就会崩溃。

这是我的 tableView 的样子:

enter image description here



Best Answer-推荐答案


您可以考虑将您的 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/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4