I currently have a map view with some annotation on it. I have the annotation with custom images. The problem I am trying to fix is the sensitivity of the images. When I try
@jhabbott solution never worked for me, as I mentioned here.
I have an image and a label side by side. The image was shown by setting annotationview image property, and the label by adding an UILabel
I redirected the func point(inside:with:) method to the UILabel one (which included the image zone) and hitTest did return exactly the same view whether I clicked on the label or the image. But label click did not produce any callback...
Finally, I ended up by enlarging the MKAnnotationView frame to enclose label + image, I set annotationView.image to nil, and I created my custom UIImageView.
Because I wanted the anchor point at the middle of the image, I had to set a custom one :
self.frame = CGRect(x: 0, y: 0, width:
self.myLabel.frame.width, height: self.myLabel.frame.height)
self.centerOffset = CGPoint(x: self.frame.width/2, y: self.myImageView.frame.height/2)
Then I deleted point(inside:with:) and hitTest(point:with:) overrides that did nothing.
And now, for the first time, my annotation view is completely reactive.