将搜索按钮添加到UINavigationBar:Swift

时间:2015-12-04 05:17:18

标签: swift uinavigationcontroller uinavigationbar uinavigationitem

我有一个ViewController1和ViewController2。 ViewController1设置了一个NavigationController。我在NavigationBar上有一个按钮(自定义搜索图标)。现在我按下control +单击并拖动到ViewController2并将其设置为Show。当我按下它时,它不起作用。我还尝试将按钮拖到ViewController1并将其设置为IBAction,但这也不起作用。

我想要的成就: 我想在NavBar的左侧创建一个按钮。单击它时,我想添加搜索栏并允许用户从数组中搜索。这样做的最佳方法是什么?搜索栏也有取消按钮,如果按下,用户应该返回到他之前的ViewController。我不希望任何人为我工作,但如果你能指出我正确的方向,那就太棒了。

2 个答案:

答案 0 :(得分:1)

我假设“自定义搜索图标”,您的意思是导航栏中的UIBarButtonItem。如果是这种情况,应该能够使用您描述的技术转移到控制器,那么您可以尝试添加新的UIBarButtonItem并重试。

但对于您所描述的问题,我可能会建议使用UISearchController略有不同的方法。由于您听起来像是在使用故事板,因此将搜索栏和搜索显示控制器从对象库拖到控制器上,就在导航栏的下方。

查看UISearchController文档: [https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UISearchController/]

以下是Apple的示例项目: [https://developer.apple.com/library/ios/samplecode/TableSearch_UISearchController/Introduction/Intro.html]

祝你好运!

答案 1 :(得分:0)

首先从界面构建器中删除所有连接。清除与按钮关联的代码。 创建一个IBAction并设置一个断点,看看当你点击按钮时它是否被调用。 如果它被调用,则将新的ViewController推送到它上面(ViewController2)。 在ViewController 2上添加搜索栏。