如何从UITabBar控制器中的控制器使用UISearchDisplayController?

Mas*_*aro 7 iphone uisearchbar uisearchdisplaycontroller

我有一个UITabBar控制器管理几个控制器(使用SDK 3.0).其中一个是tableView控制器,我需要使用UISearchDisplayController提供搜索功能.我的所有代码都基于Apple TableSearch示例.但是,单击选项卡时,tableView控制器将显示其相关内容,但不显示searchBar.我已经检查了IB中的xib以确保所有插座都已正确设置,但无论我尝试self.searchDisplayController始终为nil并且搜索栏没有出现.

在实践中,我从TableSearch示例复制了MainView.xib,并将文件的所有者类设置为选项卡的正确控制器类.插座的设置与示例MainView.xib中的设置相同.我错过了重要的一步或做错了什么?

先感谢您.

小智 5

我有同样的问题,碰巧偶然发现了这个解决方案......

如果UISearchDisplayController使用Interface Builder 将表视图控制器(例如)嵌套在选项卡栏或导航控制器中,则需要在"属性检查器"窗口中设置"笔尖名称".

Nib名称将是保存表视图并具有控制器(例如UISearchDisplayController)作为文件所有者的名称.


Mas*_*aro 1

好的,我已经找到解决方法了。就我而言,问题是由于我使用嵌入 UITabBarController 中的控制器作为其托管选项卡之一(即作为子选项卡)。

从 UITabBarController 中删除控制器,然后将 UINavigationController 添加到 UITabBarController 中,最后将我的控制器作为 UINavigationController 的子级完全解决了问题。

我不明白为什么会这样(文档中没有相关信息,就像经常发生的那样);然而,它现在就像一个魅力。亲切的问候。