如果多个 UILabel
添加同一个 UITapGestureRecognizer
对象,确实只有最后一个 UILabel
会响应手势。这是因为一个手势识别器只能被添加到一个视图上,多次添加实际上是重新指定该识别器的视图目标。
要实现多个 UILabel
响应相同的手势,可以为每个 UILabel
分别创建手势识别器,或者在父视图上添加一个手势识别器并在手势处理方法中判断具体点击的子视图。
选择一种实现方式
1. 为每个 UILabel
分别创建手势识别器:更适合处理独立的点击事件时使用。
2. 在父视图上添加一个手势识别器:更适合需要管理多个子视图点击事件的情况。
选择一种方法实现你的需求即可。