ios - 带有 SearchBar 的 UITableViewController

标签 ios xcode uitableview cocoa-touch searchbar

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

  1. TabBarController > UITableViewController(放置搜索栏)
  2. TabBarController > UIViewController > UITableViewController(放置搜索栏)

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

谁能告诉我发生了什么?

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

最佳答案

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

-tableview: viewForHeaderInSection:

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

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

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

关于ios - 带有 SearchBar 的 UITableViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16299497/

相关文章:

ios - 在 swift 的 navigationStack 之上重用相同的 viewController

objective-c - UIPickerView 中不同大小的多个组件/列

ios - 使用 Xcode 签名的 MonoTouch 应用程序 iOS

ios - Unity - Steel Series Nimbus 输入

ios - 在不中断交互的情况下向 UIView 添加圆角。

objective-c - 如何在 Swift 中使用 strncpy?

ios - 从另一个线程刷新 UITableViewController

ios - 应用程序在 iPhone 上运行良好; iPad模拟器只给出黑屏

ios - Xcode:更改 Storyboard场景中的 View 类型

ios - UITableView 需要双击 - 但不是第一次