ios - 将点击手势添加到插座集合
问题描述
在UITapGestureRecognizer
我的UILabel
. 我已经outlet collection
为UILabels
要添加点击事件的对象创建了一个。这是我的代码:
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
?
解决方案
你的方法都不起作用。问题是您的代码试图将相同的点击手势识别器添加到所有标签。你不能那样做,就像你自己不能同时在纽约和伦敦一样。