我需要一个用于显示数据列表的表格视图的搜索栏,不确定是否应该使用一个表格视图进行显示和搜索,还是分别使用单独的表格视图进行显示和搜索。
单表视图:
只需切换数据源,
+ 感觉更易于实现
-如果要保持显示表格视图的滚动位置(搜索后),需要进行额外的工作
单独的表格视图:
+无需额外的工作即可保留显示表视图的滚动偏移量
-需要在显示和搜索模式之间切换的额外工作
我错过了任何重要评论吗?推荐的方法是什么?
更新:
- 我需要搜索栏位于顶部,因此它不能是表视图的
tableHeaderView
(当表视图滚动时滚动)或节标题视图,因为我有不同的节。
谢谢!
2 个答案:
答案 0 :(得分:0)
我使用了单个表格视图,并使用了只读属性来根据搜索文本过滤项目数组。
我将原始数据存储在属性X中,并根据在搜索栏中输入的文本过滤了属性Y(只读)返回的数据,并将其用作表格数据源。
使用搜索栏委托方法,您可以在用户向搜索栏中输入文本时过滤表的内容。
答案 1 :(得分:0)
第一种是建议的实现搜索功能的方法。这样一来,管理数据源便比处理两个不同的表视图更为容易。
您可以尝试使用 UISearchController ,它为searchBar提供TableView,并可以使用委托方法来处理这种情况。
Here和here是一些很好的教程,可以做到这一点。