【问题标题】:Google Maps APi for iOS: UIActivityView on custom info window适用于 iOS 的 Google Maps APi:自定义信息窗口上的 UIActivityView
【发布时间】:2013-08-30 11:18:39
【问题描述】:

我正在尝试将微调器放在用户按下标记时出现的自定义信息窗口中。我有一个窗口的自定义视图,其中有很多子视图显示得很好。但是当我尝试添加 UIActivityView 或动画 PNG 序列时,它不会显示。有其他人经历过吗?

【问题讨论】:

  • 这里没有足够的信息,标题提到了Google Maps API,但您的主要帖子中没有任何内容。您能否更清楚地了解什么没有按预期工作?

标签: iphone ios google-maps-sdk-ios


【解决方案1】:

mapView:markerInfoWindow: 方法上的 documentation 表示:

如果您在调用此方法后更改此视图,则这些更改 不一定会反映在渲染版本中。

Google 地图似乎没有显示您返回的实际 UIView,而是代表返回信息窗口时截取的屏幕截图。

正如this answer 中所述,这在Android documentation 中已明确说明 - Android 和 iOS SDK 的工作方式似乎相似。

如果您更改了视图,我不确定是否有办法强制 SDK 对其进行新的屏幕截图。可能您可以尝试将地图的选定标记设置为 nil,然后返回到您的标记,以查看它是否会再次调用 mapView:markerInfoWindow: - 尽管这样做时它也可能会在地图上重新居中标记。它也可能不会很有效。

【讨论】:

  • 我一直在尝试再次调用该方法...没有任何效果。我尝试了 performSelector,重新映射标记...没有调用 markerInfoWindow 方法。有人知道如何重绘 infoWindow 吗?
  • 您需要地图 SDK 来调用 mapView:markerInfoWindow: - 您自己调用它,无论是直接调用还是使用 performSelector,都不会做任何事情。你是如何“重新绘制标记”的? (这可能最好放在一个单独的问题中)。如果将map.selectedMarker 设置为nil 然后返回标记不起作用,您可以尝试将其设置为nil,然后在短暂延迟后返回标记(例如使用dispatch_after)。这会导致信息窗口闪烁。
【解决方案2】:

您可以调用 mapView:markerInfoWindow: 然后在该方法中您可以创建一个 UIView,您可以在该 UIView 上添加不同的控件,包括微调器。您还可以指定要将定义的控件放置在哪个位置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-13
    • 1970-01-01
    • 2016-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-20
    相关资源
    最近更新 更多