How to add action to any view object using Tap Gesture

Updated 28 January 2019


What is Tap Gesture:

If you’ve ever used an iOS device, then, whether you know it or not, you’ve used tap gesture recognition on many occasions. like double tapping functionality, add action to non-clickable view objects etc. All of these actions are done by tap gesture recognizers.


The worst part about adding a UITapGestureRecognizer or any sort of gesture recognizer/target action is implementing a new function solely for the selector parameter. For this, I’d like to share a neat trick I threw together that lets you add gesture recognizers without selectors.


Let’s say we have anUIImageView in our View Controller and we want to add a UITapGestureRecognizer to it that prints out a statement whenever it’s tapped.

Normally we would create an instance of a UITapGestureRecognizer and set a target to the View Controller and its selector as some function we quickly threw together (myImageViewTapped(sender: UITapGestureRecognizer)). This can get a bit redundant and can lead to messy code with functions for every subview you want to add interactivity too.

I got to thinking that I could just make a quick extension that adds tap gesture recognizers to my image view for me, but then I’d have to make a new function for each recognizer, right? Wrong! Using the power of associated objects, we can actually store closures as computed properties in our extension!


Thank You!!!

. . .

Leave a Comment

Your email address will not be published. Required fields are marked*

Be the first to comment.

Start a Project

    Message Sent!

    If you have more details or questions, you can reply to the received confirmation email.

    Back to Home