提问人:Victor Lobe 提问时间:11/8/2023 最后编辑:HangarRashVictor Lobe 更新时间:11/9/2023 访问量:29
在单个 UITableView 中合并纯样式单元格和插入式分组样式单元格
Combining Plain and Inset Grouped Style Cells in a Single UITableView
问:
我在基于 Swift 的 UIKit 应用程序中有一个 UITableView,它具有纯样式、单个部分和一种具有可变行数的单元格类型。我想添加另一个具有插入分组样式的单元格,但似乎我无法以编程方式更改表视图样式。目前,我已经在原始 UITableView 之上创建了第二个 UITableView,但这不是一个理想的解决方案。
如何在单个 UITableView 中有效地使用这两种不同的单元格样式?
以下是我的设置摘要:
具有纯样式和动态行的现有 UITableView。 需要添加一个具有插入分组样式的单元格。 目前,我已经在原始 UITableView 之上放置了第二个 UITableView,这不是一个干净的解决方案。 我想知道如何在单个 UITableView 中实现这两种单元格样式并实现所需的布局和功能。
任何帮助或指导将不胜感激。谢谢!
如有必要,我可以提供相关的代码片段来说明我当前的实现。
答:
1赞
benc
11/8/2023
#1
样式是表级常量。
您必须在创建表视图时指定表视图的样式,并且以后无法更改该样式。
https://developer.apple.com/documentation/uikit/uitableview/1614886-init#discussion
没有明显的方法可以按部分更改样式,因此如果您只想做一个表格,则需要在表格布局中实现 的外观。.insetGrouped
但这些样式是相互排斥的,它们只是苹果实现的布局,但细节仍然不透明。
您已经说过您不喜欢“每个部分的不同表格”方法,因此您可能不得不使用 ,然后装饰单元格以对外观进行逆向工程。.plain
评论
1赞
matt
11/9/2023
但是,如果使用集合视图,则可以按部分更改样式。由于列表类型的集合视图基本上是表视图,因此 OP 可以完全放弃使用 UITableView。我们的应用程序只包含单列集合视图;看不到表格视图。
0赞
HangarRash
11/9/2023
@matt 这似乎值得一个正确的答案。
0赞
matt
11/9/2023
@HangarRash OP 没有提供足够的信息让我知道这些信息是否有用。我不知道“添加另一个带有插入分组样式的单元格”是什么意思。
评论