下面附上的图片代表我的要求:
在这张图片中,黄色 UITableView
将有不同的列表 UITableViewCell
项目。在其中之一 UITableViewCell
它有 UICollectionView
及其列表 UICollectionViewCell
UICollectionView
的项目和滚动方向设置为水平
每个UICollectionViewCell
将有一个 UITableView
(以红色突出显示),它将具有 UITableViewCell
的列表(以玫瑰色突出显示)项目。在这里,UITableViewCell
(以玫瑰色突出显示)项目可以折叠/展开。每当单元格折叠/展开时,会自动处理红色表格的内容大小。但是,每当红色表的内容大小增加时,collectionview 的大小就不会增加。
我已经为这些 UI 元素添加了所有相关的约束。但是,当 tableview 单元格扩展时,collectionview 的内容大小或框架不会扩展。
为了更好地理解这里,我将分解 View 的设计方式:
UIViewController
中的黄色 tableview它将有一个简单的 UITableViewCell
没有自定义类 UICollectionView
将被添加。此 UICollectionView
放在一个 xib
文件,它已嵌入到 UIView
中UICollectionViewCell
已创建于一个 xib
它将有 UITableView
里面的元素。 UITableViewCell
有自己的xib
引用,这是将展开/折叠的单元格 我试过修改
intrinsicContentSize
属性修改 UICollectionView
属性嵌入其中的高度 UIView
每当发生扩展时的元素。请引用 CardView.swift
供引用。CardView.swift
我知道设计有点复杂。 但是,我在这里错过了什么?
最佳答案
根据您在图像中的要求,我刚刚创建了一个示例项目 here .
我没有使用单独的 Xib。但是,我能够实现您的要求。
您可能必须根据您的应用程序业务逻辑更好地处理最里面 tableView 的重新加载。
这是我实现的:
collectionView.performBatchUpdates
之前 collectionView.reloadData()
扩大单元格大小 请参阅下面的视频以更好地理解
关于ios - UITableView + UICollectionView + UITableView 大小问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69531226/