2

我正在使用 UISearchBar 、 UISearchController 和 UISearchResultsController 并且不知道如何阻止 UISearchBar 在 iOS 8 中使用 UITableview 滚动

没有找到有效的答案。

4

2 回答 2

3
  1. 使用 UIViewController 而不是 UITableViewController
  2. 在状态栏正下方添加一个子视图,即 UISearchBar 的大小
  3. 在子视图正下方添加一个 tableView
  4. 连接您的网点、数据源和委托
  5. 使用 AutoLayout,将视图保持在适当位置
  6. 在 viewDidLoad 方法中,像往常一样配置您的 UISearchController,但不要将 searchController searchBar 设置为 tableView 标题,而是将其添加为您在 storyBoard 中创建的视图的子视图
  7. 就是这样...只是张贴以防其他人感兴趣。
于 2015-01-24T00:02:51.087 回答
1

请在此处查看本杰明的出色回复:https ://stackoverflow.com/a/27129481/1505096

简而言之:使用带有嵌入式 UITableView 的 UIViewController,而不是UITableViewController。前者让您可以灵活地使用表格视图做任何您想做的事情,包括您正在寻求的经常请求的行为,而在后者中,视图本身就是一个表格视图,因此您可以做的事情受到更多限制在正常的设计范式之外。

玩 UIScrollViewDelegate 并在其中调整框架——正如我在许多 SO 响应中看到的那样——是一种 hack,你不需要诉诸这种诡计。

于 2014-12-18T04:36:24.607 回答