IOS8 UISearchController 直接显示搜索栏

Posted

技术标签:

【中文标题】IOS8 UISearchController 直接显示搜索栏【英文标题】:IOS8 UISearchController display searchbar directly 【发布时间】:2015-01-09 19:16:13 【问题描述】:

我正在尝试使用 UISearchController 为我的 iphone 应用程序显示一个简单的搜索屏幕。 我使用了一个 UITableViewController 和一个嵌入在 UINavigationController

中的 UISearchController 这让我进入以下屏幕(状态 1

当用户点击搜索字段时,我会看到以下屏幕(state 2): 搜索栏很好地显示在状态栏下方的屏幕顶部。

我想要做的是立即获得 state 2 而不去 state 1

我尝试添加此代码

presentViewController(searchController, animated: true, completion: nil)

但如果动画为假,它要么不显示搜索栏,要么按我想要的方式显示它,但在临时显示导航栏的不必要过渡之后

【问题讨论】:

你的问题毫无意义。 是把搜索字段作为表格视图的标题视图开始的人(状态1)。如果那不是你想要的,你为什么要这么做?如果您希望搜索字段位于导航栏中,为什么不将其放在导航栏中? 【参考方案1】:

好的,我刚刚发现如何阅读这个答案UISearchController in a UIViewController

我只需要像这样添加搜索栏就可以得到想要的效果

    searchController.hidesNavigationBarDuringPresentation = false
    // tableView.tableHeaderView = searchController.searchBar
    navigationItem.titleView = searchController.searchBar

【讨论】:

以上是关于IOS8 UISearchController 直接显示搜索栏的主要内容,如果未能解决你的问题,请参考以下文章

UISearchController 未在 iOS8 上显示

iOS8以后 UISearchController的用法

防止 UISearchController 在 IOS8 中隐藏视图导航栏

你如何解除 UISearchController ? (iOS 8 及以下)

搜索框UISearchController的使用(iOS8.0以后替代UISearchBar + UISearchDisplayController)

UISearchController