【问题标题】:I need to set UITableViewCell Dynamic Height, With Multiple dynamic label with UIImageView我需要设置 UITableViewCell 动态高度,带有 UIImageView 的多个动态标签
【发布时间】:2017-08-30 06:46:35
【问题描述】:

我需要根据内容设置UITableViewCell动态高度。

这是我的演示图片:

在此标记具有动态内容的标签,因此基于该标签内容我的单元格高度应该改变..

我得到约束错误。在这个单元格中,有两个 UILabel 可用,并且都具有动态内容大小。 (我已经使用只有一个标签的自动调整单元格进行了演示。)但是在这个单元格中,有两个标签。所以错误是 xcode 建议我给标签 Y POS 或高度,但我已经设置了最高约束。 (标签线设置为 0 零的 4 侧约束)但它仍然失败。 我也尝试使用此代码

self.tableView.estimatedRowHeight = 250.0;
self.tableView.rowHeight = UITableViewAutomaticDimension;

这是我的demo code

【问题讨论】:

标签: ios swift uitableview uilabel


【解决方案1】:

看看我的输出截图。对于这两个标签,您应该给出所有四个约束,并且您必须将两个标签的高度优先级更改为 750 并将拥抱和阻力优先级设置为 1000。然后您必须将情节提要中的行数更改为 0

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {

        return UITableViewAutomaticDimension
    }

    func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {

        return 250

    }

【讨论】:

  • 您必须将两个标签的高度优先级更改为 750,我没有得到这个 - 请澄清一下
【解决方案2】:

将此代码添加到viewDidLoad()方法中:

tableView.rowHeight = UITableViewAutomaticDimension
tableView.estimatedRowHeight = 44

【讨论】:

    【解决方案3】:

    在 Swift 3 中,使用

    func tableView(_ tableView: UITableView,estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
    
        return HEIGHT // Maximum cell height
    }
    

    在表格视图单元格中,为文本视图设置动态高度约束(大于或等于)- 最大文本视图高度

    【讨论】:

      【解决方案4】:

      我发现了问题。将文本设置为UILabel 后,它仍然没有为其内容设置正确的高度框架。在cellForRowAt 中,添加以下内容:

      //these make height frame both of labels became correct
      
      cell.lbName.sizeToFit()
      cell.lbAge.sizeToFit()
      
      // update cell layout
      cell.layoutIfNeeded()
      

      【讨论】:

        【解决方案5】:

        看看UITableViewDelegate函数tableView(_:heightForRowAt:)。如果您能够计算给定索引路径的高度,它将适用于您的情况。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-06-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-05-18
          • 2017-08-30
          • 2019-03-03
          相关资源
          最近更新 更多