如何单击按钮并更改表格视图单元格中的标签文本

Posted

技术标签:

【中文标题】如何单击按钮并更改表格视图单元格中的标签文本【英文标题】:How can i click button and change label text in tablewviewcell 【发布时间】:2017-11-28 09:22:45 【问题描述】:

当我点击每个 TableViewCell 中的按钮时,我想更改标签文本

我的意思是有 2(-,+) 按钮和 1 个标签,当我点击按钮时,标签会增加或减少。

我不知道 怎么做?

【问题讨论】:

到目前为止你尝试过什么?贴一些代码。 你可以使用库 valuestepper 来做到这一点cocoacontrols.com/controls/valuestepper 【参考方案1】:

您需要维护一个quantityArray 来存储每个索引的当前数量

var quantityArray:[Int] = [] //initialize quantity array

然后将初始数量值添加到quantityArray 例如:如果您的列表数组计数为 10,并且所有项目的初始数量将是一种方式 向数组添加初始值

for i in 0 ..< 10 
   quantityArray.append(1)

然后在你的tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath)

从数量数组中分配数量值

cell.qtyLbl.text = "\(quantityArray[indexPath.row])"
cell.incrementBtn.tag = indexPath.row
cell.incrementBtn.addTarget(self, action: #selector(self.incrementBtnClicked(_:)), for: .touchUpInside)
cell.decrementBtn.tag = indexPath.row
cell.decrementBtn.addTarget(self, action: #selector(self.decrementBtnClicked(_:)), for: .touchUpInside)

将以下函数添加到您的viewcontroller

func incrementBtnClicked(_ sender:UIButton)
    let increasedQty = quantityArray[sender.tag]+1
    self.quantityArray.replaceSubrange(sender.tag, with: increasedQty)
    self.tableView.reloadData


func decrementBtnClicked(_ sender:UIButton)
    let decreasedQty = quantityArray[sender.tag]-1
    self.quantityArray.replaceSubrange(sender.tag, with: decreasedQty)
    self.tableView.reloadData

如果你这样使用,即使在滚动表格视图之后,单元格中的数量也会从数量数组中填充

希望对你有帮助

【讨论】:

让增加数量 = quantityArray[indexPath.row]-1 我在 indexpath.row 得到错误 我以这种方式更改函数并工作 let azalt = Int(urunler.adet[sender.tag])!-1 self.urunler.adet[sender.tag] = String(azalt) self.sepetimTableview .reloadData() 。谢谢 @GaneshManickam 它在 sender.tag 上给出一个错误,说“expected Range found Int” 你设置按钮的标签值了吗? @脖子 @GaneshManickam 是的,我已经按照您在此处提到的那样标记了它们。喜欢:“itemCell.itemIncrementButton.tag = indexPath.section”,甚至尝试过:“itemCell.itemIncrementButton.tag = indexPath.row”【参考方案2】:

您所要做的就是为您的按钮添加一个动作并完成您的工作。

@IBAction func increase() 
    quantityLabel.text = "\(quantity)" // increase the quantity number and set it

顺便说一句。在获得任何帮助之前,您应该考虑发布您的代码。

【讨论】:

以上是关于如何单击按钮并更改表格视图单元格中的标签文本的主要内容,如果未能解决你的问题,请参考以下文章

如何使用自动布局来调整表格视图单元格中的视图大小?

点击保存按钮并存储在字典中时获取表格视图单元格中的文本字段?

单击表格视图中的按钮时如何更改表格视图外部的标签文本

在表格视图中点击按钮 - 错误的单元格

使用自动布局表格视图时如何增加表格视图单元格中的标签高度(取决于文本)?

如何更改 Swift 中表格视图单元格中的默认删除按钮?