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

时间:2016-04-10 17:18:44

标签: swift google-maps tableview google-places searchbar

我尝试使用Google地方进行操作并自动完成,关于Google地方的自动填充功能我得到了结果,但我希望将结果放在Google地图前面的带有桌面视图的搜索栏中,就像弹出窗口一样。但我刚刚找到了带有搜索栏和表格视图的示例以及其他任何内容。我正在寻找类似下图所示的内容。

Example about pop up with table view in front of maps

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

注意: 我从来没有亲自这样做过,但这是我的理论:

UISearchBar是一个漂亮的工具,你可以将一个委托挂钩到它来控制它的动作。以下是文档的屏幕截图,可在此处找到:link

screenshot

所以,我要做的是将UISearchBar设置为它周围的类。然后,实现你的委托方法,以便当调用图片中上面显示的任何方法时,周围的类将转换为UIPopoverPresentationController,而UIPopoverPresentationController将在其中包含UITableView。 (popover将字面上“弹出”屏幕的其余部分。)

您必须确保已设置为委托的类实现UISearchBarDelegate协议。它看起来像这样:

class Foo: UISearchBarDelegate {
    /* stuff */
}

之后,所有数据配置都取决于您。同样,这一切都在理论上,因为我自己并没有真正实现这一点。如果我有什么不对的地方,请告诉我。

祝你好运。

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

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

所有代码都在阻止popover进入模态。

答案 1 :(得分:0)

我正在寻找它的是popover。我想使用前面提到的popover,我发现了一些类似here的解决方案: