禁用除最后一个之外的所有UITableView单元 - Swift

时间:2015-08-12 13:59:26

标签: ios arrays swift uitableview cell

目前正在使用swift中的UITableView。

由于我的表格单元格值是通过单击按钮追加的,我想找出一种方法来禁用所有先前单元格的交互,除了最后一个单元格。

我已经使用基于数组的方法了,但它并没有按照我想要的方式运行。

var disabledRows = [0,1,2]
        else
    {
        cell.backgroundColor = UIColor.orangeColor()
    }

    if (contains(disabledRows, indexPath.row)) {
        cell.userInteractionEnabled = false
    }
    else {
        cell.userInteractionEnabled = true
    }

这种方法的问题是我必须计算所有单元格,然后阻止最后一个单元格。

也许有一些更简单的方法?

任何帮助都非常感激。

更新 - 这是我完整的“cellForRowAtIndexPath”功能

func tableView(tableView: UITableView, cellForRowAtIndexPath
    indexPath: NSIndexPath) -> UITableViewCell
{
    let cell: CustomCellForTableViewTableViewCell = tableView.dequeueReusableCellWithIdentifier("Cell") as! CustomCellForTableViewTableViewCell

    if indexPath.row % 2 == 0
    {
        cell.backgroundColor = UIColor.purpleColor()
    }
    else
    {
        cell.backgroundColor = UIColor.orangeColor()
    }

    if (contains(disabledRows, indexPath.row)) {
        cell.userInteractionEnabled = false
    }
    else {
        cell.userInteractionEnabled = true
    }

    let quest = arrayOfQuestions[indexPath.row]
    cell.setCell(type.Grocery, optionno1:type.option1, optionno2:type.option2)

    cell.mainText.text = type.Grocery


    cell.optionOne.backgroundColor = UIColor.redColor()

    return cell

}

1 个答案:

答案 0 :(得分:0)

在cellForRowAtIndexPath:方法中。

if (indexPath.row == yourDataSourceArray.count - 1) {
// enable cell
} else {
// disable cell
}