我MKMapView
在我的 iOS 应用程序中画了一个,在这张地图上有一些注释,用自定义图像表示它们。选择特定注释时,图像会发生轻微变化(发光)。
为此,我使用mapView(mapView: MKMapView!, didSelectAnnotationView view: MKAnnotationView!)
委托方法来更改图像(通过更改view.annotation.image
)。这似乎工作正常。
但是,当我在mapView(mapView: MKMapView!, didDeselectAnnotationView view: MKAnnotationView!)
取消选择后使用该方法将图像改回时,它会重新绘制地图左上角的注释。任何与地图的用户交互都会立即将其重新绘制到适当的位置,因此在方法调用之后地图不会被刷新,直到单击或进行某些操作。
这实际上是更改注释图像的正确方法(通过覆盖当前的view.annotation.image
,如果是的话,有没有办法刷新地图?
编辑:我也刚刚注意到,每次选择新注释时,它都会将地图中心向下拖动约 100 像素。在调用上面提到的这两种方法中的任何一种后,我需要做些什么吗?