在重新加载UITableView部分时允许选择

时间:2014-03-16 09:03:25

标签: ios uitableview uianimation

我有一个基本的tableview,其中包含包含单元格的节标题。单元格具有可见或不可见的复选标记。当用户选择单元格时,它会切换复选标记,如果该部分中的所有项目都有可见标记,则此部分标题将显示为灰色。

我首先更新模型,然后在相关部分调用tableView:didSelectRowAtIndexPath:,在reloadSections:withRowAnimation:UITableViewRowAnimationAutomatic中触发UI更新。

问题在于,当动画更改(持续时间约为0.3秒)时,用户无法在动画完成之前选择另一行。这是一种常见的使用场景,希望批量检查多个项目。我也绝对想要改变动画。

文档说明可以使用UIViewAnimationOptionAllowUserInteraction配置UIAnimation来解决这个问题,但由于我没有使用手动UIAnimation但只调用UITableViewRowAnimationAutomatic,我不知道如何实现这一点。

有没有办法允许用户在正在进行动画/重新加载的同时在其他单元格上选择(并启动动画)?

注意

获取自定义节标题以重绘/动画是很棘手的,我设法做到的唯一方法是首先重新加载受影响的部分,然后立即重新加载表格 - 后者隐藏其他情况下显示的闪烁。 / p>

如果我只重新加载单个受影响的行,则节标题上没有动画 - 它只是更改。

1 个答案:

答案 0 :(得分:0)

我最终忽略了标题标题没有动画,因此无法快速切换列表中的多个项目会对用户体验产生更严重的影响。