Objective c UISearchBar范围栏未显示

Objective c UISearchBar范围栏未显示,objective-c,uitableview,ios7,Objective C,Uitableview,Ios7,我将UIScopeBar作为UIVIew的子视图作为UITableView的对等视图。当我试图显示范围栏时,它显示在表视图的第一行后面。如果在开始编辑搜索栏时尝试以编程方式向下移动tableview,则会出现第二个未过滤的tableview,并且仍然覆盖范围栏。如何将范围栏带到“前面” 除非您需要做一些不同寻常的事情,否则我认为使用UITableviewController(而不是UIViewController)和UISearchDisplayController(而不是uisearchbar

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


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

UISearchDisplayController
将自动处理搜索结果表的显示,您可以将其设置为在搜索栏编辑开始时显示范围栏,或者像您所做的那样使用故事板,或者以编程方式使用以下内容:

self.searchDisplayController.searchBar.showsScopeBar = YES;
否则,如果您想坚持您所描述的内容,那么如果我了解您的设置,您有一个UIViewController,其中添加了两个子视图,一个带有ScopeBar的UISearchBar和一个UITableView

在没有看到代码的情况下,要准确地说出您想要做什么有点困难,但是如果您将搜索栏拖到tableview中,那么它将作为tableViews tableHeaderView附着,然后它将在tableview的顶部显示带有ScopeBars的搜索栏,我想这就是您想要的


希望有帮助

我也有同样的问题,但我的UISearchBar是导航栏的一部分,带有此选项displaysSearchBarInNavigationBar。我试图从interface builder、代码、初始化以及太多地方添加范围栏,但我无法显示它。