导航栏中的 iOS 搜索栏
Posted
技术标签:
【中文标题】导航栏中的 iOS 搜索栏【英文标题】:iOS Search Bar in Navigation Bar 【发布时间】:2015-08-27 21:36:44 【问题描述】:我目前正在开发一个以 MapView 作为主视图的应用程序。我想在导航栏中有一个搜索按钮,可以在同一导航栏中显示一个搜索栏。
如果你使用过 Twitter 应用程序,你就会知道我在说什么。
我已经看到了大量的指南和教程,它们展示了如何在表格视图中实现类似的东西,但这不是我想要做的。
谁能告诉我最好的方法是什么?
正如有人回答 非常 很快指出的那样 - 我的问题看起来与 this 问题非常相似。然而,这个问题似乎对我没有任何作用,也没有解决让搜索栏出现在按钮按下的问题。
现在我的搜索不需要SearchViewController
,因为它所做的只是使用MKLocalSearch
来定位MapView
【问题讨论】:
【参考方案1】:首先,您需要知道 Twitter 所做的是在点击搜索按钮时呈现一个新的UIViewController
,但没有动画。在这个新的UIViewController
中,您可以将UISearchBar
放入代码中,就像您在问题中输入的答案一样,或者使用 Interface Builder,这取决于您。
在这里查看我的答案Displaying search bar in navigation bar in ios 8
如果您想做的是将UISearchBar
显示在搜索图标出现的同一UIViewController
中,您需要为UIBarButtonItem
处理@IBAction
并根据您的需要进行更改(使用动画,如果你想)。
我强烈推荐 Twitter 的方式,更干净。
希望对你有所帮助。
【讨论】:
【参考方案2】:我要给你一个我自己尝试过的想法,它正在工作,但我现在无法为你提供代码
我相信你可以很容易地找到我要告诉你的代码。
首先你必须知道在导航控制器中标题在 UIView 中你可以访问所以你需要做的就是
创建一个 UIView 并在 navigationItem.titleView 中将您的视图分配给它,就像这样navigationItem.tittleView = the created view
这将创建一个搜索栏对象并将其添加为创建的视图作为子视图
view.addSubView(the search bar view object)
希望这就是你要找的……祝你好运
【讨论】:
以上是关于导航栏中的 iOS 搜索栏的主要内容,如果未能解决你的问题,请参考以下文章