私は2つのラベルLabel1とLabel2を持っています。引数を渡すセレクタで同じ関数を呼び出す両方のラベルのUITTapRecognizerを作成することによって、どのラベルがタップされるかを出力する単一の関数を作成したいと思います。以下は、これを行うための長い道のりが乱雑ですが、機能します。私がセレクタに引数(Int)を渡す方法を知っていれば、それはもっときれいになります。セレクタ付きのUItapgestureRecognizerに余分な引数を渡す
let topCommentLbl1Tap = UITapGestureRecognizer(target: self, action: #selector(DiscoverCell().doubleTapTopComment1))
topCommentLbl1Tap.numberOfTapsRequired = 2
topCommentLbl1.userInteractionEnabled = true
topCommentLbl1.addGestureRecognizer(topCommentLbl1Tap)
let topCommentLbl2Tap = UITapGestureRecognizer(target: self, action: #selector(DiscoverCell().doubleTapTopComment2))
topCommentLbl2Tap.numberOfTapsRequired = 2
topCommentLbl2.userInteractionEnabled = true
topCommentLbl2.addGestureRecognizer(topCommentLbl2Tap)
func doubleTapTopComment1() {
print("Double Tapped Top Comment 1")
}
func doubleTapTopComment2() {
print("Double Tapped Top Comment 2")
}
私は何かのよう
func doubleTapTopComment(label:Int) {
if label == 1 {
print("label \(label) double tapped")
}