ios - 自定义集合视图并在集合视图的单元格之间创建空间
问题描述
我正在尝试创建这种关系,下面的图片描绘了 Parent -> Children -> Children -> etc. 。. 我正在尝试为父集合视图使用垂直集合视图,然后为子集合视图使用嵌套的水平集合视图。但是当单击“查看子项按钮”时,我正在努力将集合视图单元格向下移动。我想当点击按钮时我可以做这样的事情:
@IBAction func showChildrenBtnClicked(_ sender: Any) {
collectionView.contentInset.bottom = 200
collectionView.reloadData()
}
但这似乎无济于事。有谁知道如何在集合视图中添加空白空间,以便我可以创建一个水平集合视图来保存子元素。
这些是我试图实现的行为的一些模拟图像:
先感谢您。
解决方案
首先将所有视图作为集合视图。当 ViewchildrenButton 被点击时,将其委托给父集合视图控制器类,然后
if let flowLayout = metaMoreCollectionView.collectionViewLayout as? UICollectionViewFlowLayout {
flowLayout.invalidateLayout()
}
这将调用
collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize
并在那里给出更新的大小。
推荐阅读
- javascript - 是否推荐使用 Typescript 中的下划线?
- javascript - $.getJSON 未捕获的引用错误 $ 未定义
- c# - 如何存储/查询坐标以计算米之间的距离?
- python - 遍历字典以创建实例
- c++ - 使用一个或多个配置文件的多个程序
- node.js - Redis 会话不可用
- android - 获取 React 本机构建 apk 后出现“Java.io.FileNotFoundException”错误
- python - 如何通过单击 PySimpleGUI 中的按钮来添加字段或元素?
- mongodb - MongoDB 将 $facet 结果与相应的项目合并
- selenium - 当我在 Web Crawler 中使用 selenium 和 requests 时,浏览器无法跳转到新的 URL