UITapGestureRecognizerでカスタムクラスを作って任意の値を渡す方法。
画像タップ時やUILabelタップ時にsenderに値を渡す際などに使用。
コード
let sampleImageView = UIImageView()
let customTapGesture = CustomTapGestureRecognizer(target: self, action: #selector(tapped(_:)))
customTapGesture.passValue = "aaa"
sampleImageView.addGestureRecognizer(customTapGesture)
//タップ時の処理
@objc func tapped(_ sender:CustomTapGestureRecognizer) {
print("tapped")
print(sender.passValue)
}
//カスタムクラスの作成
class CustomTapGestureRecognizer:UITapGestureRecognizer {
var passValue: String?
}
参考
Swiftのお役立ち情報