【问题标题】:iOS12 Beta MapKit issue: Changing annotation title in didSelect methodiOS12 Beta MapKit 问题:在 didSelect 方法中更改注释标题
【发布时间】:2018-08-02 00:03:21
【问题描述】:

我正在更改 mapView didSelect 函数内注释的标题:

override public func mapView(_ mapView: MKMapView, didSelect view: MKAnnotationView)

这导致了很多问题,即在 iOS 12 Beta 中标注随机出现而不是消失。它在以前的 iOS 版本中完美运行。有没有其他人遇到过这个问题或知道问题是什么?我附上了该行为的屏幕截图。

Callout Issues

【问题讨论】:

  • 它看起来像错误。你可以在这里提交错误报告:bugreport.apple.com
  • 从 iOS 12 测试版开始,我遇到了类似的问题(无法关闭标注、打开多个标注等)。作为一种解决方法,我将与标注相关的所有内容的布局从您上面引用的mapView(_:didSelect:) 移到创建注释视图的mapView(_:viewFor:) 方法中。这解决了我的问题。我建议在mapView(_:didSelect:) 中尽可能少做。

标签: mapkit mkannotation xcode10 callouts ios12


【解决方案1】:

我们有同样的问题。 iOS 12.1 中的行为仍然相同。 作为一种解决方法,就像提到的 vlz 一样,完全在 mapView(_:viewFor:) 方法中进行视图设置。我已经体验到,仅需要在选择引脚时触发的昂贵逻辑仍然可以在 didSelect 中完成,除非您不在那里进行大量视图更改(更新标签似乎没问题,而例如设置 leftView 会破坏一切)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-17
    • 1970-01-01
    • 1970-01-01
    • 2012-04-23
    • 2012-04-08
    • 2011-11-05
    相关资源
    最近更新 更多