在搜索栏中弹出 table 视图,swift 2

Pop up with table view in search bar, swift 2

我正在尝试使用 Google 个位置进行操作并自动完成,关于 Google 个位置的自动完成我得到了结果,但我希望将结果放在带有 table 视图的搜索栏中在 Google 地图前,就像一个弹出窗口。但我刚刚找到了带有搜索栏和 table 视图的示例以及它们背后的其他内容。我期待着做如下图所示的事情。

Example about pop up with table view in front of maps

如有任何帮助,我们将不胜感激。

注意:我个人从未这样做过,但这是我的理论:

UISearchBar 是一个漂亮的工具,您可以将委托连接到它来控制它的操作。以下是可在此处找到的文档的屏幕截图:link.

因此,我要做的是将 UISearchBar 设置为 class 周围的任何值。然后,实现您的委托方法,以便在调用上面图片中显示的任何这些方法时,周围的 class 将转至 UIPopoverPresentationController,而后者又将在其中包含一个 UITableView。 (弹出框将 字面上 "pop over" 屏幕的其余部分。)

您必须确保您设置为代理的 class 实现了 UISearchBarDelegate 协议。它看起来像这样:

class Foo: UISearchBarDelegate {
    /* stuff */
}

之后,所有的数据配置都由您决定。同样,这都是理论上的,因为我自己还没有真正实现过。如果我有什么不对的地方,请告诉我。

祝你好运。

编辑:为了回应 Dan L 对最初问题的评论,实际上可以在 iPhone(或任何紧凑型屏幕)上出现弹出窗口而无需进入模态。您必须将呈现 class 设置为 UIPopoverPresentationController 的委托,然后实现如下委托方法:

func adaptivePresentationStyleForPresentationController(controller: UIPresentationController) -> UIModalPresentationStyle {
    return UIModalPresentationStyle.None
}

所有代码所做的都是防止弹出框永远变成模态。

我正在寻找的东西是弹出窗口。我想像之前提到的那样使用弹出窗口,我发现了一些类似的解决方案 here: