在循环中添加 GestureRecognizer 不起作用 Swift
Adding GestureRecognizer in loop doesn't work 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 是整数数组?)。不要那样做。
为您希望拥有自己的手势识别器的每个视图创建一个单独的手势识别器。
否则,将手势识别器添加到父视图。然后当你点击超级视图上的任何地方时它就会触发。
我正在尝试遍历我的不同视图并向它们添加手势识别器。但这并没有给他们添加手势:
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 是整数数组?)。不要那样做。
为您希望拥有自己的手势识别器的每个视图创建一个单独的手势识别器。
否则,将手势识别器添加到父视图。然后当你点击超级视图上的任何地方时它就会触发。