嘿,我有UITableView
。有4个大单元格(因此它们不会全部显示在屏幕上)。在应用程序的各个点我想禁用所有这些的用户交互,但是当我运行此代码时,我得到一个nil解包错误:
for row in 0...3 {
let cell = tableView.cellForRowAtIndexPath(NSIndexPath(forRow: row, inSection: 2)) as! AnswerTextChoiceCell
cell.userInteractionEnabled = reEnable ? true : false
}
我猜这是因为它无法获取单元格,因为它没有显示在屏幕上。我将如何禁用所有单元格的所有用户交互?
我不想在
tableView
上禁用用户互动,因为它会阻止用户滚动。
对此的任何指示都会非常感激!
答案 0 :(得分:2)
尝试一次。
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
//Configure the cell
if indexPath.row == yourcell {
cell.userInteractionEnabled = false
}
return cell!
}
希望这有帮助。
答案 1 :(得分:0)
在没有看到你的其余代码和你的TableView的情况下,我能看到的唯一两件事会导致崩溃:
为了试着看看它是哪一个,我会首先尝试完全省略'AnswerTextChoiceCell',然后看看问题是否消失,或者至少它会停止崩溃。该函数无论如何都将返回一个UITableViewCell,并且该对象上的userInteractionEnabled属性仍然可用,因此这仍然允许您测试您所追求的内容。
如果这不起作用,那么我们需要更多关于您的表格视图的信息,例如,您有多少部分,是基于故事板,等等。