ios - UISearchController:用于显示和搜索的单个与单独的表格 View

标签 ios swift uitableview uisearchcontroller

我需要一个用于显示数据列表的 TableView 的搜索栏,不确定是否应该使用一个 TableView 来显示和搜索,或者分别使用单独的 TableView 来显示和搜索。

单 TableView :

+ 感觉只需切换数据源就可以更轻松地实现
- 如果我想保持显示 TableView 的滚动位置(搜索后),则需要额外工作

单独的表格 View :

+不需要额外的工作来保留显示 TableView 的滚动偏移
- 在显示和搜索模式之间切换的额外工作

我错过了什么重要的事情吗?推荐的方式是什么?

更新:

  1. 我需要将搜索栏粘在顶部,因此它不能是表格 View 的 tableHeaderView (当表格 View 滚动时滚动),或节标题 View ,因为我有不同的部分。

谢谢!

最佳答案

我使用了单个 TableView ,并使用只读属性来根据搜索文本过滤项目数组。

我将原始数据存储在属性 X 中,并根据在搜索栏中输入的文本过滤属性(只读)Y 返回的数据并用作表数据源。

使用搜索栏委托(delegate)方法,您可以在用户在搜索栏中输入文本时过滤表格的内容。

关于ios - UISearchController:用于显示和搜索的单个与单独的表格 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51667067/

相关文章:

ios - 获取EKEvent的日历标题

ios - 隐藏导航栏时显示状态栏

ios - 关闭压缩单元格背景图像 - Objective-C (Xcode)

ios - 通过单个字符串嵌套 UITableView

iphone - JSON 数据中的 UITableView 部分

objective-c - 无法在 iOS SDK 中自定义 UINavigationBar 的外观 :

ios - PFQuery includeKey 给出命令

swift - 将 Firebase 导入 Xcode 项目时出现问题

ios - 如何正确使用时区

swift - CollectionView Cell 中 Label 的值与旧值重叠一毫秒,​​而 reloadItems()