我创建了一个按钮,并且在桌面上有两个标签单元格,单击按钮然后更改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"
}
答案 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"
}