2016-08-10 38 views
0

在我的代码中我有一个tableView和几个标签.. 我希望当用户点击单元格,然后单击其中一个标签时,标签中的文本将与该行中的文本相同被点击。如何在快捷方式中使多个标签可点击?

Q1。我如何使所有标签都可以点击并连接到一个功能,每次用户点击它时都会指向特定的标签? Q2302。我试图用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 

} 

感谢提前...

回答

0

首先,你需要了解UITableView的对象。 UITableView是一个单元格数组,好吗?然后,你需要使用像numberOfRowsInSection(其中应用程序知道细胞的数量)和的cellForRowAtIndexPath(其中应用程序知道细胞会)

关于你的问题,我建议你使用网点标签连接,按钮关联到UITableView的一些方法,对象到控制器(如果没有必要,请尝试不使用手势)

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

+0

首先感谢您的评论。我的桌面视图工作正常,我有插座,连接到所有标签..我的问题是关于可点击和启用所有标签的行动将通过一种方法/ func执行,如果可能和如何实现.. –

+0

好吧,好吧。你需要一个控制器单元到你的表中,并将你的标签与你的UITableViewCell控制器中的插座连接起来。你不需要在你的uitableviewcontroller的viewdidload中创建label1,label2,.... –