【发布时间】:2016-03-10 06:27:55
【问题描述】:
我正在创建一个简历应用程序(主要是为了好玩),但似乎无法让点击手势识别器为我工作。我想要的是让一个标签显示信息,并根据他们在下面点击的标题标签进行更改。这是我写的代码:
import UIKit
class WorkHistoryViewController: UIViewController {
// MARK: Properties
@IBOutlet weak var jobOne: UILabel!
@IBOutlet weak var jobTwo: UILabel!
@IBOutlet weak var jobThree: UILabel!
@IBOutlet weak var jobFour: UILabel!
@IBOutlet weak var jobFive: UILabel!
@IBOutlet weak var workHistoryDescriptionLabel: UILabel!
let tapRec = UITapGestureRecognizer()
override func viewDidLoad() {
super.viewDidLoad()
tapRec.addTarget(self, action: "tappedLabel")
jobOne.addGestureRecognizer(tapRec)
jobTwo.addGestureRecognizer(tapRec)
jobThree.addGestureRecognizer(tapRec)
jobFour.addGestureRecognizer(tapRec)
jobFive.addGestureRecognizer(tapRec)
}
// MARK: Methods
func tappedLabel() {
workHistoryDescriptionLabel.text = "It worked!"
}
}
发生的情况是,在 viewDidLoad() 中调用 addGestureRecognizer() 的最后一个标签是唯一有效的标签。如果我注释掉最后一行,那么只有它上面的标签有效。我还尝试以编程方式在每个标签和属性检查器上启用用户交互,但都没有改变任何东西。
【问题讨论】:
-
你必须为每个标签添加不同的手势
-
你只分配一次,它应该如何在每个标签上工作?
标签: ios swift uitapgesturerecognizer