【问题标题】:iOS - Issue Creating Custom MKAnnotation CalloutiOS - 创建自定义 MKAnnotation 标注的问题
【发布时间】:2015-11-10 04:34:03
【问题描述】:

我在设置 MKAnnotation 标注气泡时遇到了一些问题。最初我有一个标准标注,它只包含一个标题、副标题和leftCalloutAccessoryView。这创建了以下标注:

这一直很好,直到决定副标题还应包含一系列五张图片,以显示商家在用户评论中的平均评分。这是通过创建一个单独的视图并将其作为detailCalloutAccessoryView 传递来完成的。这产生了以下标注气泡:

由于某种原因,当视图被传递到detailCalloutAccessoryView 时,标注视图的所有 UI 组件周围都有一个奇怪的边框,这会在 leftCalloutAccessoryView 周围以及标题和副标题之间创建不需要的空白。我怎样才能删除这个空白?我希望企业在副标题内的平均评分以及标题和detailCalloutAccessoryView 之间的适当间距。如何做到这一点?是否可以在不从头开始创建callout 的情况下这样做?

【问题讨论】:

  • 你解决过这个问题吗?
  • 不,我永远无法解决这个问题。
  • 你能分享你为标注创建的代码和UIView吗?

标签: ios mkmapview mapkit ios9 mkannotation


【解决方案1】:

没有代码,很难给出详细的答案。
但我在this post:
中找到了可以解决您问题的提示 显然,当您将视图设置为 detailCalloutAccessoryView 时,MapKit 将 translatesAutoresizingMaskIntoConstraints 设置为 false
这意味着您必须自己设置自动布局约束。

【讨论】:

  • @ScottOBot:您尝试设置自动布局约束吗?
【解决方案2】:

我建议您创建一个代表气泡的自定义引脚(BubblePin),并且每次用户选择一个常规引脚时,您将 BubblePin 添加到最后选择的常规引脚的相同位置。 因此,添加一个额外的引脚并根据用户选择切换其位置即可解决问题,只需确保将 BubblePin 添加一些偏移量,使其不会正好位于常规引脚之上。

【讨论】:

    猜你喜欢
    • 2015-08-27
    • 1970-01-01
    • 1970-01-01
    • 2013-07-20
    • 1970-01-01
    • 2013-04-21
    • 2013-03-07
    • 1970-01-01
    相关资源
    最近更新 更多