多个 imageViews 的一次 tapRecognizer

One tapRecognizer for several imageViews

我有几个 imageViews,我想为所有 imageViews 添加一个 tapRecognizer

所以我知道如何添加 tapRecognizer

let tapRecognizer = UITapGestureRecognizer(target: self, action: "imageTapped:")
imageViewOne.addGestureRecognizer(tapRecognizer)

它有效,但我也想添加它以供休息,如

imageViewOne.addGestureRecognizer(tapRecognizer)
imageViewTwo.addGestureRecognizer(tapRecognizer)
imageViewThree.addGestureRecognizer(tapRecognizer)
imageViewFour.addGestureRecognizer(tapRecognizer) 
...etc

但是这里imageTapped方法只对最后一个有效

问题是:是否可以不为每个 imageView 创建新的 tapRecognizers

不,1 TapGesture 不可能。您需要为每个图像视图创建单独的 tap gesture,即使您可以为所有 tap gesture.

设置相同的目标方法

如果您要使用点击手势创建多个图像,那么您需要制作一个单独的方法并在 for 循环中使用点击手势创建每个图像视图。