ios - 自定义 Collection View 并在 Collection View 的单元格之间创建空间

标签 ios swift

我正在尝试创建如下图所描绘的父 -> 子级 -> 子级 -> 等关系。 .我正在尝试为父 Collection View 使用垂直 Collection View ,然后为子 Collection View 使用嵌套的水平 Collection View 。但是当单击“查看子项按钮”时,我很难将 Collection View 单元格向下移动。我想我可以在点击按钮时做这样的事情:

@IBAction func showChildrenBtnClicked(_ sender: Any) {

    collectionView.contentInset.bottom = 200
    collectionView.reloadData()

}

但这似乎没有做任何事情。有谁知道如何在 Collection View 中添加空白空间,以便我可以创建一个水平 Collection View 来容纳子元素。

这些是我试图实现的行为的一些模拟图像:

步骤 1) enter image description here

步骤 2) enter image description here

步骤 3) enter image description here

步骤 4) enter image description here

步骤 5) enter image description here

提前致谢。

最佳答案

首先将所有 View 作为 Collection View 。 当 ViewchildrenButton 被点击时,将其委托(delegate)给父 Collection View Controller 类,然后

if let flowLayout = metaMoreCollectionView.collectionViewLayout as? UICollectionViewFlowLayout {
        flowLayout.invalidateLayout()
    }

这将调用

collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize

并在那里提供更新后的尺寸。

关于ios - 自定义 Collection View 并在 Collection View 的单元格之间创建空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55274359/

相关文章:

ios - 使用 NSDictionary valueForKey 查找对象与遍历 NSArray

ios - 旋转设备后动画点会重新定位

swift - 无法将 vapor 部署到 heroku(尝试对 CTLS : couldNotFindConfigFile) 使用 pkgConfig 标志时出错

Swift 3 - 定义可能有两种类型的字典

swift - 如何将用户的分数传输到 Swift 和 SpriteKit 中的另一个场景?

ios - 如何将 UIEdgeInsets 应用于 CGImage?

ios - 在后台保存导致响应时间延迟(iOS)

ios5:停止 View 被卸载/停止调用 viewDidUnload

ios - 将 iOS 6 设备作为 BLE 外围设备运行

iphone - 如何使用 Flash Builder 4.6 在 iPhone 4 上启用高分辨率显示