1

我已经尝试了以下两种方法将 SearchBar 放在 UITableView 上。

  1. TabBarController > UITableViewController(Put SearchBar)
  2. TabBarController > UIViewController > UITableViewController(Put SearchBar)

当我尝试第二种方法时,它不起作用。(SearchBar 无法在 UITableViewController 上显示)

谁能告诉我发生了什么?

这是我的 xcode 项目文件: http ://www2.zshares.net/tg14vowqzvaw

4

1 回答 1

2

执行此操作的常用方法是将 saerch 栏放在它应该搜索的 uitableview 的标题部分中。您可以使用

-tableview: viewForHeaderInSection:

UITableViewDelegate-Protocol 中的方法。他在 TableViewControllers 和只有一个 TableView 的常规 ViewControllers 中工作。有关此示例,请参阅 iphone 上的邮件应用程序。如果您真的需要将搜索栏放在 tableview 之外,那么您将不得不使用常规视图控制器并将搜索栏放在 tableView 上方/下方的视图中。除此之外,我不知道该告诉你什么。什么是 TabbedViewController?你是说 TabBarController 吗?这与搜索栏有什么关系?我有点缺乏时间来完成你的项目,所以如果你改写这个问题,也许我可以给出更好的答案?

编辑 - - - - - - - - - - - - - - - - - - - - - - - - - ----

tableviewcontrollers 会对你这样做。基本上,他们将允许一个 tableview 一次在其中。此外,这个 tableview 总是会填满整个可用空间。现在,您可以使用一个例外:像 NavigationBar 或 TabBar 这样的元素可以与 tableview 一起使用,因为它们是导航所必需的。因此,如果您可以将您的东西放入其中之一,那就完全没问题了。这似乎违反直觉,因为我什么时候只想在屏幕上显示一个裸表视图?答案是:通常情况下。使用此处指定的 UITableVIewDelegate-Protocol 可以高度自定义 Tableview:http: //developer.apple.com/library/ios/#documentation/uikit/reference/UITableViewDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intf/UITableViewDelegate 帮自己一个忙并阅读该文档,我几乎可以保证从长远来看您会节省时间。例如:您知道 iPhone 上的联系人应用程序吗?如果您查看某个特定联系人的详细信息,您会发现数据非常复杂,如果您点击编辑,它甚至会进入编辑模式。它有一个页眉、多个段和一个页脚。惊喜:所有这些只是 tableviewcontroller 中的一个 tableview,通过协议定制。让我重复一遍:如果你尝试以其他方式去做,你就是在浪费自己的时间。tableviewcontrollers 的存在是有原因的。使用它们

于 2013-04-30T12:16:19.477 回答