Skip to content

Instantly share code, notes, and snippets.

@agrawalsuneet
Created December 12, 2020 06:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save agrawalsuneet/e16589342e83b622161ea4494863ee51 to your computer and use it in GitHub Desktop.
Save agrawalsuneet/e16589342e83b622161ea4494863ee51 to your computer and use it in GitHub Desktop.
//
// UIView+ClickListener.swift
//
// Created by Suneet Agrawal on 12/12/20.
//
import UIKit
// MARK: ClickListener
class ClickListener: UITapGestureRecognizer {
var onClick : (() -> Void)? = nil
}
// MARK: UIView Extension
extension UIView {
func setOnClickListener(action :@escaping () -> Void){
let tapRecogniser = ClickListener(target: self, action: #selector(onViewClicked(sender:)))
tapRecogniser.onClick = action
self.addGestureRecognizer(tapRecogniser)
}
@objc func onViewClicked(sender: ClickListener) {
if let onClick = sender.onClick {
onClick()
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment