【发布时间】:2017-10-30 23:10:08
【问题描述】:
我正在尝试(但失败)只创建一个用于多个 UILabel 的 tapGestureRecognizer。
现在我正在为 viewDidLoad 中的每个标签创建一个单独的 tapGestureRecognizer 并将其添加到适当的标签中。我遇到了这个问题,因为每次触摸显然都应该调用不同的函数。
这就是我创建它们的方式:
@IBOutlet weak var buttonOne: UILabel!
@IBOutlet weak var buttonTwo: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
//tapGestureRecognizer for buttonOne
buttonOne.isUserInteractionEnabled = true
let oneGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(MainViewController.buttonOneAction))
buttonOne.addGestureRecognizer(oneGestureRecognizer)
//tapGestureRecognizer for buttonTwo
buttonTwo.isUserInteractionEnabled = true
let twoGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(MainViewController.buttonTwoAction))
buttonTwo.addGestureRecognizer(twoGestureRecognizer)
...
它们工作得很好,但是我如何以及在哪里只创建一个 tapGestureRecognizer 并将其添加到 viewDidLoad 到每个具有不同操作的标签中?
【问题讨论】:
-
为什么不用按钮而不是标签?
标签: ios swift uilabel uitapgesturerecognizer