目前正在使用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
}
答案 0 :(得分:0)
在cellForRowAtIndexPath:方法中。
if (indexPath.row == yourDataSourceArray.count - 1) {
// enable cell
} else {
// disable cell
}