【问题标题】:Scrolling between sections in UITableView with selected cells使用选定单元格在 UITableView 中的部分之间滚动
【发布时间】:2016-08-05 23:55:41
【问题描述】:

我有一个包含两个部分的 UITableView,我有一个将 tableview 更改为编辑模式的按钮,但只有底部是可编辑的。

当我选择行并仅在底部滚动(处于编辑模式)时,行保持选择。但是,如果我向上滚动直到底部部分被隐藏并返回底部部分,则选择已被清除。

部分之间的滚动清除选择。

为什么会这样?如何解决这个问题?

【问题讨论】:

  • 这两个部分是否有两个不同的单元格标识符?
  • 不,它们是相同的,因为它们是故事板中的同一个单元格。
  • 感谢@Magoo,您让我找到了正确的方向来修复我的错误。我需要 2 个不同的标识符用于 2 个部分。
  • 酷...不客气:) 我会发布它为什么不

标签: ios swift uitableview selection sections


【解决方案1】:

所以只是为了后代。一般来说,即使 tableview 单元格是同一个类,如果它们在可编辑性等方面具有不同的行为,通常最好有两个单独的 CellIdentifier 字符串以避免在状态之间进行大量切换。

可以这么简单

static NSString *CellIdentifier = @"Cell";
static NSString *CellIdentifier2 = @"Cell2";


NSString *identifierString = indexPath.section == 0 ? CellIdentifier:CellIdentifier2;

MYTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifierString];

if (!cell)
    cell = [[MYTableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifierString];

【讨论】:

    猜你喜欢
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 2017-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-31
    相关资源
    最近更新 更多