2016-08-10 36 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,.... –