【发布时间】:2018-11-23 21:22:18
【问题描述】:
我有一个UITableView,它有 100 个单元格。我想创建一个数组来保存该表的索引值,如果选定的表行与数组中的任何值匹配,我想禁用表单元格。
我发现以下代码可以禁用我给它的特定单元格。
UITableViewCellSelectionStyle.none
对此的任何帮助将不胜感激。
这就是我检查选择了哪个单元格的方式:
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let selectedRow = tableView.indexPathForSelectedRow?.row
let workoutSelected = selectedRow
stringPassedTableView = workoutSelected!
let myVC = storyboard?.instantiateViewController(withIdentifier: "showWorkout") as! WorkoutViewController
myVC.stringPassed = stringPassedTableView
navigationController?.pushViewController(myVC, animated: true)
}
【问题讨论】:
-
我还应该注意到,我发现我可以通过给它一个值来实现这一点: if(indexPath.row == 2) { UITableViewCellSelectionStyle.none }
-
所以如果你需要禁用第 0、5、13、67 行的单元格,那么你需要一个包含 0、5、13、67 的数组吗?
-
Joakim - 正确
-
不要使用包含索引路径的数组。将
selected或enabled信息添加到您的数据模型。好处是 Ui 将在cellForRow中可靠地更新。 -
你为什么打电话给
indexPathForSelectedRow?那是没有意义的。该方法在indexPath参数中为您提供索引路径。
标签: ios swift loops uitableview