我试图循环我的不同视图,并添加手势识别器到他们。但这并没有增加他们的姿态:
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)")
}发布于 2022-05-24 19:58:27
我确信手势识别器只能添加到单个视图中。您的代码试图将相同的手势识别器gesture添加到view.viewWithTag(i)中的所有视图(其中我是一个整数数组?)。别干那事。
为您希望拥有自己的手势识别器的每个视图创建一个单独的手势识别器。
否则,将手势识别器添加到superview。然后,当你点击超级视图上的任何地方时,它就会开火。
https://stackoverflow.com/questions/72368216
复制相似问题