如何在快捷方式中点击多个标签?

时间:2016-08-10 20:07:43

标签: swift label uitapgesturerecognizer clickable

在我的代码中我有一个tableView和几个标签.. 我希望当用户点击单元格并在其中一个标签上单击之后,标签中的文本将与单击行中的文本相同。

Q1。如何使所有标签都可以点击并连接到每次用户点击时指向特定标签的一个功能?

Q2。我尝试使用UITapGestureRecognizer为所有标签做出相同的手势。显然这个手势仅指向最后一个标签(代码示例中的Lbl4)...这意味着我的func中Lbl1中的文本只能通过单击Lbl4来更改。 。 这是为什么?以及如何更改它将引用所有标签?

override func viewDidLoad() {
    super.viewDidLoad()

    let aSelector : Selector = #selector(ViewController.lblTapped)
    let tapGesture = UITapGestureRecognizer(target: self, action: aSelector)
    tapGesture.numberOfTapsRequired = 1
    Lbl1.addGestureRecognizer(tapGesture)
    Lbl2.addGestureRecognizer(tapGesture)
    Lbl3.addGestureRecognizer(tapGesture)
    Lbl4.addGestureRecognizer(tapGesture)

}

func lblTapped(){
    Lbl1.text = self.currentPlayerChooseInRow

}

感谢您提前......

1 个答案:

答案 0 :(得分:0)

首先,您需要了解UITableView对象。 UITableView是一个单元格数组,好吗?然后,你需要使用一些与UITableView相关的方法,比如numberOfRowsInSection(其中app知道单元格数)和cellForRowAtIndexPath(app知道单元格将在哪里)

关于您的问题,我建议您使用插座将标签,按钮,对象连接到控制器(如果没有必要,请尝试不使用手势)

最后,将对象单元编程到单元格中。如果您有一个复杂的单元格,则需要一个自定义单元控制器。