将搜索按钮添加到 UINavigationBar:Swift

Adding Search Button to UINavigationBar : Swift

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

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

首先从界面生成器中删除所有连接。清除与按钮关联的代码。 创建一个 IBAction 并放置一个断点以查看当您单击按钮时它是否被调用。 如果它确实被调用,那么将一个新的 ViewController 推到它上面,(ViewController2)。 在 ViewController 2.

上添加您的搜索栏

我假设 "Custom Search Icon",你指的是导航栏中的 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]

祝你好运!