我有一张来自 mapKit 的传统地图,在它们各自的位置有一组图钉。我试图将大头针保持在同一位置,同时使地图不可见。有没有办法做到这一点?谢谢,
问问题
41 次
1 回答
0
好吧,我不得不承认这个让我很好奇!我不知道有一种干净的方式来做你想做的事,尽管我怀疑你可以围绕添加覆盖做一些有趣的黑客攻击。
您可能想要尝试的一种解决方案是使用viewForAnnotation()
拉出地图上每个图钉注释的位置,将其转换为您的视图,然后在其位置添加自定义视图。然后,您可以隐藏整个地图(这将隐藏其图钉),将您的假图钉留在原处。
在我的脑海中,它看起来像这样:
let annotations = mapView.annotations
for annotation in annotations {
if let annotationView = mapView.viewForAnnotation(annotation) {
let transformedFrame = view.convertRect(annotationView.frame, fromView: annotationView.superview)
let testView = UIView(frame: transformedFrame)
testView.backgroundColor = UIColor.redColor()
view.addSubview(testView)
}
}
但是,当地图视图移动时,您会遇到问题,因此您可能需要跟踪您的假图钉并适当地移动它们。
于 2015-12-13T21:24:38.783 回答