无法根据背景颜色快速禁用单元格

时间:2016-07-25 15:06:01

标签: swift uitableview swift2 cell

我正在制作一个使用不同颜色单元格将细胞分成不同类别的应用程序,但我还有一个功能,允许用户点击单元格来添加复选标记并选择它们。我希望禁用彩色单元格,以便当用户点击它们时,它们不会向单元格添加复选标记并选择它。 这是我的复选标记功能:

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
    let cellIdentifier = "instrumentTableCell"
    let cell: InstrumentTableCell! = tableView.dequeueReusableCellWithIdentifier(identifier) as? InstrumentTableCell

    checked = Array(count:recipies.count, repeatedValue:false)
    cell.configurateTheCell(recipies[indexPath.row])

    if !checked[indexPath.row] {
        cell.accessoryType = .None
    } else if checked[indexPath.row] {
        cell.accessoryType = .Checkmark
    }


    return cell
}

2 个答案:

答案 0 :(得分:1)

尝试cell.userInteractionEnabled = false

答案 1 :(得分:0)

使用UITableViewDelegate函数

tableView:willDisplayCell:forRowAtIndexPath:

您可以在那里访问单元格功能,例如字体和背景颜色:

cell.backgroundColor
cell.textLabel.backgroundColor
cell.detailTextLabel.backgroundColor

根据颜色,您可以使用

启用/禁用单元格以进行点击
cell.userInteractionEnabled = false

如有必要,您也可以在此处启用/禁用单元格的其他部分。