I want to show a map and add a pin on it which is clickable. The gesture recognizer on the map is working but on the pin not. I tried UIGestureRecognizer and UIPinchRecognizer with giving itself as a parameter and without. No success.
let imageSize = image.size ?? CGSizeZero
self.mapImage = UIImageView(image: image)
self.mapImage.frame = CGRect(origin: CGPoint(x: 0, y: 0), size:imageSize)
self.scrollView.addSubview(self.mapImage)
self.scrollView.contentSize = imageSize
var doubleTapRecognizer = UITapGestureRecognizer(target: self, action: "scrollViewDoubleTapped:")
doubleTapRecognizer.numberOfTapsRequired = 2
doubleTapRecognizer.numberOfTouchesRequired = 1
self.scrollView.addGestureRecognizer(doubleTapRecognizer)
let scrollViewFrame = self.scrollView.frame
let scaleWidth = scrollViewFrame.size.width / self.scrollView.contentSize.width
let scaleHeight = scrollViewFrame.size.height / self.scrollView.contentSize.height
let minScale = min(scaleWidth, scaleHeight)
self.scrollView.minimumZoomScale = minScale
var image = UIImage(named: "MapPin")
var pinIcon = UIImageView(image: image)
pinIcon.userInteractionEnabled = true
pinIcon.addGestureRecognizer(UITapGestureRecognizer(target: self, action: "buttonTapped:"))
let imageSize = image?.size ?? CGSizeZero
var xPosition : CGFloat = CGFloat(poi.x) - imageSize.width * 0.5
var yPosition : CGFloat = CGFloat(poi.y) - imageSize.height
pinIcon.frame = CGRect(origin: CGPoint(x: xPosition, y: yPosition), size: imageSize)
self.mapImage.addSubview(pinIcon)
self.view.sendSubviewToBack(self.scrollView)