当我滚动我的 tableview 时,活动的 tableView 单元格不断被禁用
Active tableView cells keep getting disabled when I scroll through my tableview
我的应用有一个包含不同部分的 UITableView。我只想允许访问前 3 个部分,即索引路径 0、1 和 2。我的问题是我的代码在应用程序启动时有效。但是,当我向下滚动浏览 table 视图部分并向上滚动回到 table 视图部分的顶部时,当我回到它们时,第 0、1 和 2 部分被禁用。我怎样才能解决这个问题?
//formatting the cells that display the sections
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("cell") as UITableViewCell!
cell.textLabel?.text = sectionName[indexPath.row]
cell.textLabel?.textAlignment = .Center
cell.textLabel?.font = UIFont(name: "Avenir", size:30)
//Code to block disable every section after row 3.
if ( indexPath.row >= 2 ) {
cell.userInteractionEnabled = false
cell.contentView.alpha = 0.5
}
return cell
}
细胞正在被重复使用。这些单元会被重复使用,不会再次创建以提高性能。因此,当您向下滚动时,由于您的条件检查,单元格的交互将被禁用。由于没有检查 indexPath.row
是否低于 2 的条件,因此用户交互与重复使用的单元格保持相同(false
)。
只需对您的条件检查稍作修改即可解决问题。
if ( indexPath.row >= 2 ) {
cell.userInteractionEnabled = false
cell.contentView.alpha = 0.5
}
else{
cell.userInteractionEnabled = true
cell.contentView.alpha = 1
}
我的应用有一个包含不同部分的 UITableView。我只想允许访问前 3 个部分,即索引路径 0、1 和 2。我的问题是我的代码在应用程序启动时有效。但是,当我向下滚动浏览 table 视图部分并向上滚动回到 table 视图部分的顶部时,当我回到它们时,第 0、1 和 2 部分被禁用。我怎样才能解决这个问题?
//formatting the cells that display the sections
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("cell") as UITableViewCell!
cell.textLabel?.text = sectionName[indexPath.row]
cell.textLabel?.textAlignment = .Center
cell.textLabel?.font = UIFont(name: "Avenir", size:30)
//Code to block disable every section after row 3.
if ( indexPath.row >= 2 ) {
cell.userInteractionEnabled = false
cell.contentView.alpha = 0.5
}
return cell
}
细胞正在被重复使用。这些单元会被重复使用,不会再次创建以提高性能。因此,当您向下滚动时,由于您的条件检查,单元格的交互将被禁用。由于没有检查 indexPath.row
是否低于 2 的条件,因此用户交互与重复使用的单元格保持相同(false
)。
只需对您的条件检查稍作修改即可解决问题。
if ( indexPath.row >= 2 ) {
cell.userInteractionEnabled = false
cell.contentView.alpha = 0.5
}
else{
cell.userInteractionEnabled = true
cell.contentView.alpha = 1
}