【问题标题】:How to hide circular compass icon on MKMapview in iOS如何在 iOS 中隐藏 MKMapview 上的圆形指南针图标
【发布时间】:2015-05-06 10:35:50
【问题描述】:

我想隐藏用户旋转地图时出现的MKMapview 上的圆形指南针图标。我附上了屏幕截图以供参考。我不想显示圆形指南针图标,但我确实希望允许在地图上旋转。

【问题讨论】:

  • 如果我设置 myMapViewObject.rotateEnabled = NO;然后这个图标不会出现,但我不想禁用旋转。
  • 这是您的答案stackoverflow.com/a/19196725/790842。对于您的布局,我有一个建议,将 SearchBar 移动到导航栏,这样它就不会被指南针挡住。
  • 您是否将“搜索 Oulet”(“Outlet”?)视图直接添加到 MKMapView?这可以解释为什么指南针出现在顶部。就像 iphonic 所说,搜索视图应该添加为父 vc 视图的子视图,而不是地图视图。不要修改地图的内部视图层次结构。

标签: ios mkmapview


【解决方案1】:

从 iOS 9 开始,您终于可以在 MKMapView 中隐藏指南针了。

mapView.showsCompass = NO;

【讨论】:

    【解决方案2】:

    如果您没有以编程方式旋转地图并且它还没有被旋转,请完全禁用旋转,使用

    mapView.rotateEnabled = 否; 指南针仅在地图旋转时显示,因此这样做可以确保指南针永远不会被触发。

    【讨论】:

    • 谢谢,但我已经提到我不想限制旋转。
    【解决方案3】:

    当前的 iOS 地图没有关闭指南针的选项。 Apple 文档中的 MapKit 类也不包含任何有关指南针设置的信息,无论是作为属性还是仅创建设置。

    没有旋转限制,您需要尝试以下网址给出的解决方案:

    http://jdkuzma.tumblr.com/post/79294999487/xcode-mapview-offsetting-the-compass-and-legal

    【讨论】:

    • 请考虑在此处输入答案的重要部分。仅链接的答案可能会在一段时间内失效。
    【解决方案4】:

    您可以通过设置布局边距来尝试:

    通过移动一点点:

    [self.mapView setLayoutMargins:UIEdgeInsetsMake(20, 0, 20, 0)];
    

    或将其上移一点:

    [self.mapView setLayoutMargins:UIEdgeInsetsMake(-50, 0, -50, 0)];
    

    希望这能满足您的需要。

    【讨论】:

      猜你喜欢
      • 2013-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多