【问题标题】:Dynamic height for tableview cell based on Stackview's height基于 Stackview 高度的 tableview 单元格的动态高度
【发布时间】:2018-09-30 23:17:48
【问题描述】:

Tableview 单元格不会根据 Stackview 的高度展开。该单元格具有用于保存堆栈视图的容器视图,我将以编程方式将子视图添加到 cellForRowAt: 上的 Stackview。如果没有视图添加到 StackView,它的高度应该是 0。否则,它应该是一些基于子视图的高度。我的布局如下。

Xib 文件如下。它在此布局中将 Stackview 的高度显示为零。

问题是当我在cellForRowAt: 期间将 Imageview 添加到 Stackview 时,它会添加但单元格的高度没有扩大。

注意:

这是水平堆栈视图

【问题讨论】:

  • 如果它在 cellForRow 中,也许调用 layoutIfNeeded 更好
  • 确保 Stackview 中的内容对 Stackview 具有底部和顶部约束......
  • @Tj3n 试过但没用。
  • @ManishM.Mahajan 哇。它正在工作。我试过了。请发表您的评论作为答案。我会将其标记为已接受。

标签: ios swift uitableview uistackview


【解决方案1】:

确保 Stackview 中的内容具有底部和顶部约束 堆栈视图....

当您为 Stackview 中的内容分配顶部和底部约束时,Stackview 的高度会随着其内容大小自动增加..

并且不需要额外建议应该自动设置tableview单元格高度..意味着看下面的代码.....

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

【讨论】:

  • 只需用示例详细说明您的答案,否则 SO' 人们将标记为已删除。
  • 另外,您的解释将对未来的访客有所帮助。
猜你喜欢
  • 2017-11-14
  • 1970-01-01
  • 2021-11-25
  • 2019-05-23
  • 2017-07-19
  • 1970-01-01
  • 2012-05-04
  • 2017-04-18
  • 1970-01-01
相关资源
最近更新 更多