Swift tableview单元格标签更改文本按钮标签

时间:2015-09-17 14:19:44

标签: swift tableview cell

我创建了一个按钮,并且在桌面上有两个标签单元格,单击按钮然后更改tableview标签文本 这是我的代码

func buttonLike_ww(sender: AnyObject?) {
        var tag:NSInteger = sender!.tag;

        tag_last_button_clicked = tag;


        // found table
        let cell = TableViewCell_trandingjive(style:UITableViewCellStyle.Default, reuseIdentifier:"Cell")
        cell.label_dislike.text = "20"
        cell.label_like.text = "50"

    }

3 个答案:

答案 0 :(得分:2)

txtAge

基本上你所做的就是从按钮获取标签(如果我找到你的话,它就是UITableViewCell的indexPath)。然后获取单元格的引用并相应地将标签更改为文本。

你在你的方法中犯了一个错误,你没有在单元格上有参考,但你创建了一个新的。 此外,上述代码仅在您只有一个部分时才有效。如果您有多个部分,您不仅需要知道行,还需要知道部分。

在这种情况下,您可以采用这种方法:

func buttonLike_ww(sender: AnyObject?) {
        let tag:NSInteger = sender!.tag;
        let indexPath = NSIndexPath(forRow: tag, inSection: 0)
        let cell = tableView.cellForRowAtIndexPath(indexPath)
        cell.label_dislike.text = "20"
        cell.label_like.text = "50"

}

答案 1 :(得分:0)

以下是在点击当前单元格按钮时如何更改当前单元格标签。

首先,我们需要通过将其提供给方法来识别单元格。像这样,确保它在单元格的UIButton方法中。

func ButtonTapped(cell: UITableViewCell){
        cell.label_dislike.text = "20"
        cell.label_like.text = "50"
 }

此外,如果您有包含XIB文件的自定义单元格,则将UITableViewCell更改为CustomTableViewCell

如果要从数据数组中获取当前索引,可以在方法中设置两个变量。

//Get Current Index of you Cell and Match it with your Data Array if
let indexPath = self.tableView.indexPathForRowAtPoint(cell.center)
let selectedCell = dataForCell[(indexPath?.row)!] // Change it to you data array ===> dataForCell[(indexPath?.row)!]

答案 2 :(得分:0)

如果你有一个带有xib的Custom TableViewCell,这段代码可能最适合你。斯威夫特4

func buttonLike_ww(sender: AnyObject?) {

    let tag:NSInteger = sender.tag
    let indexPath = IndexPath(row: tag, section: 0)

    let cell = TableView.cellForRow(at: indexPath) as! CustomCell

    cell.label_dislike.text = "20"
    cell.label_like.text = "50"


}