在循环中添加手势识别器不起作用 Swift



我正在尝试通过不同的视图循环并向它们添加手势识别器。但这并没有为它们添加手势:

for i in numberOfViews {
view.viewWithTag(i)?.addGestureRecognizer(gesture)
}

但是当我在循环外执行时,它会工作:

view.viewWithTag(8)?.addGestureRecognizer(gesture)

我通过循环添加的手势来验证这是正确的

var listofgest = view.viewWithTag(8)?.gestureRecognizers ?? []
for each in listofgest {
print("this is a gest (each)")
}

我很确定手势识别器只能添加到单个视图中。您的代码正试图添加相同的手势识别器,gesture,到view.viewWithTag(i)中的所有视图(其中i是整数数组?)。别那样做。

为每个你想拥有自己的手势识别器的视图创建一个单独的手势识别器。

否则,将手势识别器添加到父视图。然后,当你点击父视图上的任何位置时,它就会触发。

最新更新