首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >旋转后未正确放置MKAnnotationView标注

旋转后未正确放置MKAnnotationView标注
EN

Stack Overflow用户
提问于 2017-02-06 18:43:29
回答 1查看 461关注 0票数 4

如果一个标注显示当我旋转手机从垂直规则垂直紧凑,呼号是部分在导航栏下旋转后。

我怎样才能让标注最终完全封闭在地图中呢?

这是垂直紧凑型的手机。由于专有的原因,我切断了一些屏幕。

编辑2

一位当地社区成员发布了以下代码,以防止我在下面抱怨的willTransitionTo中的缩放。

代码语言:javascript
运行
复制
if let annotation = self.mapView.selectedAnnotations.first {
    var region = self.mapView.region
    region.center = annotation.coordinate
    self.mapView.setRegion(region, animated: true)
}

它的工作原理就像一个冠军,以防止缩放,只会导致中心。不幸的是,标注仍然部分关闭屏幕。如果我在选择一个引脚时更改了setCenter,不幸的是,它会以不同的方式导致非屏幕上的标注。(关于取消选举/选择,我已经找到了一个棘手的解决办法,下面引用了这些方法。)

编辑1

  • 我发现,由于某种原因,调用setCenter也会导致缩放,而我找不到导致这种情况的原因。这可不妙。
  • willTransitionTo期间,我试着以注释为中心。这并没有改变标注的位置,只是放大了地图。(见上文所述)
  • 我尝试取消选择,然后在willTransitionTo中重新选择注释。我在呼号消失和再次出现之间有很长时间的停顿。此外,还有缩放(见上文)。然而,标注在映射的框架内。我不同意这个选项,因为“闪光灯”和缩放。(使我晕船)

旧的建议答案

虽然我仍然认为这一点本身是正确的

  • 在地图下面有更多东西的风景中的SE太短了,不可能有一个功能地图。

我试过的

  • 不调用regionDidChange,则设备被旋转。
  • 我试着检查注释视图(willTransitionTo)的框架。该框架已包含在地图框架中。
  • 我确认我的地图视图的顶部被固定在顶部的布局指南上。
  • 我查看了视图层次结构调试器,看起来在map视图之外有三个“私有”元素,但是我不知道如何处理这些信息。(第一个UIView包含在MKPinAnnotationView_UIPopoverView中,而UIView包含在_MKCalloutBackgroundMaskView中的UIView中)
  • 我没有在viewForAnnotation中设置特定的框架

其他可能相关的说明

  • 我正在做一些奇怪的事情,改变了canShowCallout上的属性,因为我想在它被选中后在引脚上居中。但是问题是在旋转时,这个代码在旋转时不会再次被调用。
  • 我确实需要解释一下“景观”中的SE,这可能是问题的一部分。

所有的帮助都是感激的。特别是显示在阅读的方向等。

EN

回答 1

Stack Overflow用户

发布于 2017-02-07 22:15:10

一位同事向我指出了这个answer to MKAnnotation image offset with custom pin image

我现在正在设置

代码语言:javascript
运行
复制
annotationView.layer.anchorPoint = CGPoint(x: 0, y: 0)

viewFor annotation中,它正在工作。

老实说,我不明白这是为什么要解决这个问题,所以注释/编辑/答案解释为什么会非常感谢。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42074974

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档