【发布时间】:2018-04-25 11:57:53
【问题描述】:
我需要在多个UILabel中添加一个UITapGestureRecognizer,它们都需要去同一个函数进行处理。
我拥有的是这样的:
@IBOutlet weak var label_something: UILabel!
let tap = UITapGestureRecognizer(target: self, action: #selector(self.myFunction))
label_something.addGestureRecognizer(tap)
在这里收到:
@objc func myFunction(sender:UITapGestureRecognizer) { // Something... }
像魅力一样工作。问题是它只适用于一个 UILabel(如果将 addGestureRecognizer(tap) 添加到多个 UIlabel 它只适用于添加的最后一个)
所以我的问题是:
如何在这里实现我想要做的?五个不同的 UILabel 和 tapRecognizer 去同一个函数
【问题讨论】:
-
你是如何确定
myFunction(sender:)只为一个标签调用的?如果您点击另一个标签,它没有调用。你检查过日志吗? -
是的,函数中的简单 print("hepp") 仅在单击有效的那个时才会显示。
-
您能在这里看到更多代码吗?即你如何分配
label_something? -
你为什么使用标签而不是按钮?
-
@Sourcey86 你在哪里为所有其他标签添加了手势?
标签: swift uilabel uitapgesturerecognizer