gpt4 book ai didi

ios - 添加具有行动画的单元格时,将 tableview 保持在相同的滚动位置

转载 作者:行者123 更新时间:2023-12-01 17:07:53 26 4
gpt4 key购买 nike

我的应用程序中有一个表格 View ,其中显示了日历项目列表。当一个单元格被选中时,我已经设置了在基于时间的表格 View 中显示所有日历项目的功能。为此,我插入空白单元格来表示未使用的时间。

问题是当我添加单元格时,表格 View 会滚动到顶部。我尝试在添加单元格后设置内容偏移,但行动画变得有问题。我知道我可以将新项目添加到数组并调用 reloadData 但这意味着我错过了动画。

例如
我在上午 9:00 有一个小时的 session ,在上午 11:00 有一个小时的早午餐。起初,为了便于阅读,它们并排显示。
当我选择上午 11:00 单元格时:

  • 应在上午 9:00 单元格上方添加 8 个空白单元格,以表示我的 session 前 8 个空闲时间
  • 应该在上午 9:00 到 11:00 之间添加一个空白单元格,以表示我的 session 和早午餐之间的空闲时间
  • 早午餐后应添加 13 个空白单元格以显示一天中最后 13 个空闲时间。

  • 当我开始上午 11:00 早午餐时,牢房是从顶部算起的第二个牢房。当 tableview 展开时,我希望这个单元格保持在其位置,而其他单元格围绕它进行动画处理。 session 单元应向上移出屏幕,为其下方的空白单元腾出空间。

    我试图通过创建索引路径数组来添加空白单元格并调用来实现这一点
    [_tableView insertRowsAtIndexPaths:blankArray withRowAnimation:UITableViewRowAnimationFade]

    然后,我计算并设置 tableview 的内容偏移量,以将早午餐单元格保持在同一位置。

    问题是,当设置内容偏移量时,单元格仍然从顶部开始动画。这意味着为了让早午餐下面的单元格出现,它们必须首先从导致闪烁的 tableview 顶部向下 ping 屏幕。早午餐和 session 室也不能顺利分开 - session 室似乎只是消失了,而不是向上滑出屏幕。

    我考虑过编写自己的表格 View ,但这似乎是一项艰巨的任务。

    任何允许我添加带有行动画的单元格同时将所选单元格保持在同一位置的解决方案都会有所帮助。

    最佳答案

    在 iOS 6 及更高版本中,如果您为 table view 的 restoreIdentifier 属性分配一个值,它会尝试保留当前选定的行和第一个可见行。转到您的 main.storyboard 选择 tableView 然后单击 tableviews 身份检查器您将看到一个名为 Restoration ID 的部分将任何内容放在那里。 BOOM MAGIC 它自己工作。

    关于ios - 添加具有行动画的单元格时,将 tableview 保持在相同的滚动位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25209019/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com