How to assign an action for UIImageView object in Swift How to assign an action for UIImageView object in Swift ios ios

How to assign an action for UIImageView object in Swift


You'll need a UITapGestureRecognizer.To set up use this:

override func viewDidLoad(){    super.viewDidLoad()    let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(imageTapped(tapGestureRecognizer:)))    imageView.isUserInteractionEnabled = true    imageView.addGestureRecognizer(tapGestureRecognizer)}@objc func imageTapped(tapGestureRecognizer: UITapGestureRecognizer){    let tappedImage = tapGestureRecognizer.view as! UIImageView    // Your action}

(You could also use a UIButton and assign an image to it, without text and than simply connect an IBAction)


You need to add a a gesture recognizer (For tap use UITapGestureRecognizer, for tap and hold use UILongPressGestureRecognizer) to your UIImageView.

let tap = UITapGestureRecognizer(target: self, action: #selector(YourClass.tappedMe))imageView.addGestureRecognizer(tap)imageView.isUserInteractionEnabled = true

And Implement the selector method like:

@objc func tappedMe(){    println("Tapped on Image")}


You can add a UITapGestureRecognizer to the imageView, just drag one into your Storyboard/xib, Ctrl-drag from the imageView to the gestureRecognizer, and Ctrl-drag from the gestureRecognizer to the Swift-file to make an IBAction.

You'll also need to enable user interactions on the UIImageView, as shown in this image:enter image description here