是否可以锚定表格视图标题(不是部分标题)

Posted

技术标签:

【中文标题】是否可以锚定表格视图标题(不是部分标题)【英文标题】:Is it possible to anchor the table view header (not a section header) 【发布时间】:2016-06-10 18:22:20 【问题描述】:

之前的所有问题都与锚定表格视图部分标题有关,但我想知道是否可以将主标题锚定在导航栏下方?

我正在使用 UISearchController 并将其搜索栏添加到表头,如下所示:

但是由于标题没有锚定它并且如果用户滚动搜索栏将消失:

因此,我想知道是否可以将表格标题锚定在该导航栏下方?找不到与此相关的任何先前问题,仅与锚定部分标题有关。摆弄各种情节提要设置(例如弹跳和滚动)并没有收获。

附: 任何提议的解决方案都涉及手动将搜索栏添加到部分标题并锚定它,我只知道当搜索栏变为活动时会导致太多麻烦和问题。使用 UISearchController 并将其搜索栏添加到表格视图标题中,可以很好地为导航栏设置动画,并在搜索栏获得/失去第一响应者状态时上下滑动:

所有这些都由 UISearchController 自动处理,只需添加一行代码(将搜索栏添加到标题中)。 因此,我不想继续用自定义表格部分标题等替换所有 UISearchController 提供的功能。

【问题讨论】:

【参考方案1】:

你考虑过把它放在 UITableView 之外吗?

我相信这将是最简单、最直接的解决方案。

编辑:

看看这个解决方案: Fixed UISearchBar using UISearchController - Not using header view of UITableView

编辑 2:

我想通了。 给你!:https://github.com/gorillatech/TableSearchwithUISearchController

我的第一个答案实际上是最有效的。您只需在UITableView 上方添加UIView

然后您将UISearchControllersearchBar 添加到所述视图中:

[_searchView addSubview:self.searchController.searchBar];

【讨论】:

我不相信将搜索栏放在表格视图之外一定很容易 - 我必须在导航栏和表格视图之间添加一个视图才能保持搜索栏。然后当搜索栏变为活动状态时,移除导航栏并将视图向上滑动屏幕,增加其尺寸,并将表格视图向上滑动屏幕,以实现 UISearchController 在添加搜索栏时提供的相同功能到表头。听起来并不容易和直接。除非你有比这更简单的方法吗? @guidev,看第一张图和第三张图。正如 Chromium 所提到的,当您将 UISearchController.searchBar 添加到表视图的标题时,这两者之间的转换会自动死亡。您的回答如何解决这方面的问题? @guidev,将搜索栏添加到导航栏会删除导航栏标题(我会有一个,只是目前在我的屏幕截图中不存在)。 (我知道导航栏提示可以用来代替标题,但我的 GUI 要求是标题保持与标准导航栏相同的大小和位置,afaik 无法将搜索栏添加到导航栏和导航栏的高度延伸以适应搜索栏和标题)。 至于该链接问题中的第二个答案,这只是一个简单的固定视图,永久存在并且相同。我想要当搜索栏激活时导航栏缩回时的行为。当搜索栏变为活动状态时,我可以简单地隐藏导航栏,但它看起来很丑陋,不像 UISearchController 提供的动画。

以上是关于是否可以锚定表格视图标题(不是部分标题)的主要内容,如果未能解决你的问题,请参考以下文章

UITableView 是不是支持带有矩形(非圆形)部分的分组样式?

您可以将视图锚定到位吗? (或者是不是有其他解决方法可以防止视图被 UI DateTimePicker 推动?)(iOS)

如何在表格视图中取消固定表格视图部分标题

php 重力表格在提交时锚定到页面的某些部分

php 重力表格在提交时锚定到页面的某些部分

如何在表格视图的标题中添加多个单元格(不是部分标题)?