首页 > 解决方案 > 将点击手势添加到插座集合

问题描述

UITapGestureRecognizer我的UILabel. 我已经outlet collectionUILabels要添加点击事件的对象创建了一个。这是我的代码:

Outlet Collection Name = viewLabels

let removeLabelTapGesture = UITapGestureRecognizer(target: self, action: #selector(removeTagLabel(_:))) 

for label in (0..<viewLabels.count) {
   viewLabels[label].addGestureRecognizer(removeLabelTapGesture)
}

@objc func removeTagLabel(_ sender: UITapGestureRecognizer) {
    print ("inside removeTagLabel")
}

我正在遍历我的出口集合gesture recognizer并将UILabel. 控制台中没有打印任何内容。

撞了几个小时后,我想尝试单独添加gesture recognizer每个UILabel.

viewLabels[0].addGestureRecognizer(removeLabelTapGesture)

现在这适用于其中一个UILabels。按照这种方法,如果我单独执行它,它会将事件添加到我添加事件gesture event的最后一个。UILabel

viewLabels[0].addGestureRecognizer(removeLabelTapGesture)
.
.
.
viewLabels[x].addGestureRecognizer(removeLabelTapGesture)  //Will add gesture event to this UILabel

有没有办法添加gesture recognizer到我的每一个UILabels

标签: iosswiftuilabeluitapgesturerecognizer

解决方案


你的方法都不起作用。问题是您的代码试图将相同的点击手势识别器添加到所有标签。你不能那样做,就像你自己不能同时在纽约和伦敦一样。


推荐阅读