【问题标题】:iOS swift: autoresize collection view nested inside a table view celliOS swift:嵌套在表格视图单元格内的自动调整集合视图
【发布时间】:2018-03-24 10:48:13
【问题描述】:

晚上,

我有以下设计:

  • 红框:是表格行
  • orane box:是一个集合视图
  • 蓝色框:是一个收集单元

当集合视图为空时,我希望行或集合视图自动调整为 0。

目前我得到了这个:

所以我希望橙色框在没有蓝色框时自动调整为 height = 0。

我知道我应该使用collectionView Height的约束,当为空时设置为0。

但我在表格单元格中有插座,并且在视图控制器中有集合委托。而且我不知道如何做到这一点。

有什么建议吗?请提供一些代码示例:P

【问题讨论】:

  • 阅读关于自动调整大小的表格视图单元格的文章
  • 你能给我至少链接吗? :D
  • 这里你可以找到如何设置自动调整表格视图单元格:appcoda.com/self-sizing-cells。希望对您有所帮助!
  • 这对我来说没用...
  • 在heightForRowAt方法中检查集合数组的大小,如果数组为空则返回0

标签: ios swift uitableview uicollectionview


【解决方案1】:

我认为无法根据其内容自动调整 collectionView 的大小。

您实际上可以做的是为您的 CollectionView 添加高度约束,如果它为空,则将其设置为 0。

然后,如果您将 CollectionView 底部和顶部相应地连接到它(您可能已经完成),您的单元格将具有固有高度

最后一步是将 tableView.rowHeight 设置为 UITableViewAutomaticDimension。可能它会工作:)

【讨论】:

  • 如果我使用 UITableViewAutomaticDimension 表格行会忽略集合视图高度并折叠...可能是因为尚未设置集合视图
【解决方案2】:

尝试使用

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

功能。在这个函数中,对于对应的行,return 0

【讨论】:

    猜你喜欢
    • 2021-11-02
    • 2020-05-11
    • 1970-01-01
    • 1970-01-01
    • 2017-07-16
    • 1970-01-01
    • 2017-11-29
    • 1970-01-01
    • 2018-07-19
    相关资源
    最近更新 更多