UISearchBar范围栏未显示

时间:2013-11-10 02:55:07

标签: objective-c uitableview ios7

我有一个UIScopeBar作为UIVIew的子视图作为UITableView的对等体。当我尝试显示范围栏时,它显示在表视图的第一行后面。如果我在编辑搜索栏开始时尝试以编程方式向下移动tableview,则会出现第二个未过滤的tableview,并且仍然覆盖了scopebar。如何将示波器栏带到“前面”?

enter image description here

1 个答案:

答案 0 :(得分:0)

除非您需要做一些与众不同的事情,否则我认为使用UITableviewController(而不是UIViewController)和UISearchDisplayController(而不是UISSearchBar / UIScopeBar)会更好。 。您可以通过将TableView控制器拖到故事板上然后拖出“搜索栏和SearchDisplay控制器”并将其放在提供的TableView上方(或者,如果您有一个NavBar,在TableView和NavBar之间),在Storyboard中执行此操作) - 它应该自动锁定到位。

UISearchDisplayController将自动处理搜索结果表格显示,您可以将其设置为在您使用故事板开始进行searchBar编辑时显示ScopeBar,或者以编程方式使用以下内容:

self.searchDisplayController.searchBar.showsScopeBar = YES;

否则,如果你想坚持你所描述的内容,那么如果我已经理解了你的设置,你就有了一个UIViewController,你已经在其中添加了两个子视图,一个带有ScopeBar的UISearchBar和一个UITableView。

在没有看到你的代码的情况下确切地说出你想要做什么有点困难,但如果你将SearchBar 拖到你的tableview中,那么它会将自己作为你的tableViews tableHeaderView附加,然后它会在tableview的顶部显示带有ScopeBars的SearchBar,我认为这就是你想要的。

希望有所帮助!