带有SearchBar的UITableViewController

时间:2013-04-30 12:05:25

标签: ios xcode uitableview cocoa-touch searchbar

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

  1. TabBarController> UITableViewController(放入SearchBar)
  2. TabBarController> UIViewController> UITableViewController(放入SearchBar)
  3. 当我尝试第二种方式时,它不起作用。 (SearchBar无法在UITableViewController上显示)

    谁能告诉我发生了什么?

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

1 个答案:

答案 0 :(得分:2)

通常的做法是将saerch bar放在uitableview的标题部分中,以便进行搜索。你可以使用

来做到这一点
-tableview: viewForHeaderInSection:
来自UITableViewDelegate-Protocol的

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

EDIT ---------------------------------------------- -------

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