Ios 如何在UItableviewcell中禁用UIbutton

Ios 如何在UItableviewcell中禁用UIbutton,ios,iphone,uitableview,swift3,uibutton,Ios,Iphone,Uitableview,Swift3,Uibutton,您好,我目前有一个UItableview,在该tableview中,我创建了一个包含两个UIButton的自定义单元格。这是为了实现向上和向下投票功能。我只是想知道,在用户单击单元格后,如何禁用单元格中的这些UIButton,而不影响使用相同模板的其他单元格按钮 我已尝试在uitableviewcell的控制器中运行函数。单击按钮时,我会禁用按钮,但使用此方法会使我遇到一个错误,其他单元格按钮也将被禁用 @IBOutlet weak var down: UIButton! @IBOutlet w

您好,我目前有一个UItableview,在该tableview中,我创建了一个包含两个UIButton的自定义单元格。这是为了实现向上和向下投票功能。我只是想知道,在用户单击单元格后,如何禁用单元格中的这些UIButton,而不影响使用相同模板的其他单元格按钮

我已尝试在uitableviewcell的控制器中运行函数。单击按钮时,我会禁用按钮,但使用此方法会使我遇到一个错误,其他单元格按钮也将被禁用

@IBOutlet weak var down: UIButton!
@IBOutlet weak var up: UIButton!


@IBAction func upVoteButton(_ sender: UIButton)
{

    self.up.isEnabled = false

}
@IBAction func downVoteButton(_ sender: UIButton) {

    self.up.isEnabled = false
}

请帮忙!提前感谢。

据我所知,我更愿意创建一个清单数组:[Bool]并在view中使用load方法或任何您试图设置表的方法,然后将表的长度数组配置为true,并在调用@IBAction时执行此操作

let cell = sender.superview?.superview as! UITableViewCell
    let tableview = cell.superview?.superview as! UITableView;
    let index = tableview.indexPath(for: cell);
    let n = index?.section/row // whatever u r using
     checkList[n] = false;
cell.button.isEnabled = checkList[indexPath.section/row]
现在在override func tableView(tableView:UITableView,cellForRowAt indexPath:indexPath)->UITableViewCell中 这样做

cell.button.isEnabled = checkList[indexPath.section/row]

滚动表格单元格后,新单元格即为可重用单元格。因此,如果在新单元格之前禁用了可见单元格,则新单元格也将被禁用。您可以尝试使用(prepareforuse)方法并实现您的目标。您可以查看该函数是如何工作的。这只是一个概述,而不是确切的代码,因此如果您遇到任何问题,请询问Hanks,我将尝试此方法!嗨,亚当,我尝试过这种方法。我无法访问IBAction方法中的变量清单。清单数组存储在viewcontroller类中,而iAction存储在UItableviewcell类中。有什么建议吗?这意味着当我尝试运行checkList[n]=false时。我收到错误“使用未解决标识符”作为
youviewController.checkList[n]
访问它,不要忘记在
yourviewController.tableView.reloadData()
之后添加这一行。请告诉我您的结果。我想我必须重新加载数据()。这很有效!谢谢