答案 0 :(得分:2)
您需要向CustomCalloutView类添加两个类变量。在init方法之前添加这两行:
var dismissesAutomatically: Bool = false
var isAnchoredToAnnotation: Bool = true
这似乎解决了Callout被解雇的问题,并允许标注遵循注释。
但是,这会遇到一个新问题,每次平移/缩放地图时,标注似乎都会下降大约10个像素。我还在努力解决这个问题。我打开了另一个问题here,看看是否有人知道如何解决这个问题。
答案 1 :(得分:1)
如上所述,您需要添加:
let dismissesAutomatically: Bool = false
let isAnchoredToAnnotation: Bool = true
因此在平移时标注不会下降,您还需要添加:
override var center: CGPoint {
set {
var newCenter = newValue
newCenter.y = newCenter.y - bounds.midY
super.center = newCenter
}
get {
return super.center
}
}
答案 2 :(得分:0)
您能说出您使用的是哪个版本的Mapbox iOS SDK吗?应该为3.4.0修复此错误。如果您尚未使用SDK,可能需要尝试最新版本的SDK。