gpt4 book ai didi

ios - 在 UITableViewCell 中制作 View 网格的最佳方法

转载 作者:行者123 更新时间:2023-11-29 12:17:04 26 4
gpt4 key购买 nike

我有一个 UITableView,其中的单元格包含放置在 XIB 中的网格样式的 subview 。今天,他们安排了自动布局和约束。这些 subview 可能有十几种类型,其中一些类型具有固定宽度,其他类型必须填充空白区域,所有类型都有固定高度。每个单元格根据其需要显示一组特定的这些类型。

下图显示了 3 个单元及其 subview

enter image description here

重点是架构需要很多规则来更新约束,并且在添加新的 subview 类型时不容易维护。在这种情况下,每个单元只使用一个 XIB 似乎不是最佳选择,因为初始界面构建器布局只是多种可能的布局之一,单元必须做很多工作才能适应。此外,我更喜欢一种在添加新 subview 类型时不需要触及以前的 subview 类型的解决方案。

我考虑过以下解决方案:

  • 在 UITableViewcell 中插入一个 collectionView,并将 subview 转换为 UICollectionViewCells:

    • 您认为屏幕上有这么多 collectionView 可能是性能问题吗? (我们最多可以同时在屏幕上显示 10 个单元格,每个单元格有 1 到 10 个单元格)
    • 考虑到 UICollectionViewCells 甚至永远不会在 UITableViewCell 内滚动,在这种情况下使用 collectionView 只是为了安排一组 View 不是有点过载吗?
  • 使用新的 UIStackView

    • stackView 仅与 iOS 9 兼容,因此这意味着我们必须暂时维护两个版本的代码
    • stackView 似乎有点复杂,无法完美放置每个 subview 像素
  • 为每个 subview 类型创建一个单独的 XIB,并使相应的 UIView 根据其邻居计算自己的约束,从而形成自定义网格系统

    • 这有点过于“自定义”解决方案,因此对于其他开发人员来说更难维护和理解
    • 如果将来它将成为第四列 subview ,它仍然需要进行大量更改(=它不是一个可以很好适应的真正的网格系统)

您会使用哪种解决方案?你有其他建议吗?谢谢

最佳答案

我总是使用自定义集合,例如在这个视频中 https://www.youtube.com/watch?v=LFBTbmvFR30

具有动态单元格大小的自定义网格,所有集合都可以随单元格调整大小您应该使用具有自定义布局和自定义单元格的 Collection View

例如,我将此布局用于美丽的动态贪婪 https://github.com/bryceredd/RFQuiltLayout

enter image description here

回到你的屏幕,如果你可以使用这个布局,你可以像在没有“ Collection View 到 Collection View 单元格”的屏幕上那样做你的集合贪婪 - 这种方法确实如此,但你应该了解如何使用自定义布局。

你可以使用“collection view into collection view cell”这个方法不好但是速度更快,你可以使用自定义布局。

P.S 相信我,所有漂亮的 Collection View 都有自定义布局,您可以在 gitHub 上找到很多示例。

关于ios - 在 UITableViewCell 中制作 View 网格的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31751867/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com