如何在 UITableView 上浮动所有部分标题视图(或保持所有可见)?
Posted
技术标签:
【中文标题】如何在 UITableView 上浮动所有部分标题视图(或保持所有可见)?【英文标题】:How do I float all section header views (or keep all visible) on a UITableView? 【发布时间】:2013-10-28 15:01:15 【问题描述】:我有一个包含两个部分的 UITableView。我希望第 0 节和第 1 节的标题视图始终保持可见,无论滚动位置如何。我怎样才能做到这一点?
【问题讨论】:
你为什么要那个?在我的脑海中,我认为这并不容易。 【参考方案1】:最简单的方法。或者最快的方法是将子视图作为标题 0 添加到视图中(与表格视图分开)。看到那总是最重要的。所以基本上,把子视图放在上面。
然后像往常一样添加 Header 1
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
您需要做的是将滚动视图(从 uitableview 子类化)的 content inset 设置为您为标题 0 添加的子视图的高度。
【讨论】:
【参考方案2】:我想不出一个开箱即用(简单)的解决方案。默认行为仅浮动当前可见行的节标题。
我相信该方法是将viewForHeaderInSection
定义为当前部分(包括)之前所有部分标题视图的数组(UICollectionView)。
编辑:(三思而后行)
你能详细说明你正在寻找的行为吗?我还没有遇到任何这样做的应用程序。可能,您只需要改变处理问题的方法并实现相同的用户行为。
例如- 您可以仅显示部分标题(总共零行),然后当用户点击其中一个部分时,您可以插入该部分的行。事实上,默认情况下,您可以从第一个部分开始,填充所有行,当用户点击另一个部分时,您关闭(删除)之前的行并在该部分中插入行。
【讨论】:
(fyi) 重新审视这个老问题,但在我的用例中仍然相关:***.com/questions/49658938/…,如果您碰巧有任何进一步的见解。【参考方案3】:我希望始终保持可见的列标题。我刚刚将它们创建为 UIView,并将它们作为子视图添加到包含我的 UITableView 的视图中。
这不是我最初想要的解决方案,但当没有其他选择看起来很直接时,我就接受了。
【讨论】:
以上是关于如何在 UITableView 上浮动所有部分标题视图(或保持所有可见)?的主要内容,如果未能解决你的问题,请参考以下文章