【问题标题】:UISearchBar Scope Bar Not ShowingUISearchBar 范围栏不显示
【发布时间】:2013-11-22 00:56:09
【问题描述】:

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

【问题讨论】:

  • 我有同样的问题,但我的 UISearchBar 是导航栏的一部分,此选项显示SearchBarInNavigationBar。我尝试从界面生成器、代码、初始化、太多地方添加范围栏,但我无法显示它。

标签: objective-c uitableview ios7


【解决方案1】:

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

UISearchDisplayController 将自动处理搜索结果表的显示,您可以将其设置为在 searchBar 编辑开始时显示 ScopeBar,或者像您所做的那样使用情节提要,或者以编程方式使用类似的东西:

self.searchDisplayController.searchBar.showsScopeBar = YES;

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

在不查看代码的情况下很难准确说出您想要做什么,但是如果您将 SearchBar 拖到您的 tableview 中,那么它将自己附加为您的 tableViews tableHeaderView,然后在表格视图的顶部显示带有 ScopeBars 的 SearchBar,我认为这是您想要的。

希望对您有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多