gpt4 book ai didi

ios - 堆叠两个 UITableView

转载 作者:行者123 更新时间:2023-12-01 18:45:55 29 4
gpt4 key购买 nike

我有一个 UITableViewUITableViewController我在我的应用程序的多个屏幕中使用。

我最近与我组织的产品团队进行了交谈,他们要求在其中一个屏幕上,我预先添加大约 15 个外观和功能的单元 非常不同 .

在谷歌搜索之后,似乎唯一的方法是使每个已实现的 UITableViewDelegate 复杂化。方法类似于:

if section == 0 {
...
}
if section == 1 {
...
}

我不想这样做,因为显示此表的其他屏幕不需要此逻辑,并且突然可重用性变得更加复杂。

理想情况下 ,我想要的是垂直堆叠两个 TableView ,使得一个附加到另一个的底部。

我的架构有问题,还是在 IOS 中根本没有这样做的好方法?

最佳答案

我不得不在几次不同的时间里做类似的事情,这就是我剩下的:

  • 根据部分添加特殊情况。令人惊讶的是,我发现这是最容易阅读和维护的。只需使用静态和清晰的变量名而不是 if (section == 0) .
  • 为包含表格 View 的第 0 行创建一个特殊单元格。这不是最简单的事情,但它可以很好地将代码分解为多个文件,这通常更适合维护。当您对委托(delegate)方法进行排序时,这确实会变得很痛苦,但是一旦解决了,它就是一个非常动态的解决方案。
  • 如果您不使用 header ,则执行与 #2 相同的操作,但针对您的特殊情况使用 header 。这在规范更改时效果很好(如果可用),因为您可以将 View 放在不同的页眉或页脚中。
  • 将两个 TableView 放在某种容器 View 中。这个我试过了,不好看。我不推荐。
  • 将两个表添加到另一个表中。可以这样做来划分细胞的来源。这样做,你可以继承 UITableView并创建一个标志以将特殊表添加到表中。这与其说是一个解决方案,不如说是一个建议和一个起点。

  • 无论您决定哪个选项,请确保它清晰易读。 UITableView当你没有低头时,它会变得复杂。

    关于ios - 堆叠两个 UITableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35819316/

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