gpt4 book ai didi

ios - 重新加载部分 :withRowAnimation: doesn't update number of rows

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:03:48 25 4
gpt4 key购买 nike

我在小部件中有一个 UITableView,我希望用动画重新加载它。 [self.tableView reloadData] 效果很好,但重新加载不是动画。我知道我应该使用 reloadSections:withRowAnimation: 来制作动画,但是有一个问题。

表格确实在更新,numberOfRowsInSection: 返回新值,但视觉上看到的行数仍然相同。

例如:如果我有一个有 2 行的 UITableView,我想将它更新为 4 行,那么表格中仍然会有 2 行。这 2 个单元格中的内容将按预期更新,但应该有 4 个单元格。我知道 numberOfRowsInSection: 返回 4。

当调用[self.tableView reloadData]而不是reloadSections:withRowAnimation:时不会出现这个问题

我找到的解决方法是这个简短的片段:

[self.tableView reloadSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationAutomatic];
[self.tableView reloadData];

依次调用这两个方法会重新加载带有动画和 4 个单元格的表格。我认为这是一个 iOS 8 错误,可能是因为我在小部件中使用了 tableView?

最佳答案

我知道这是一个老问题,但仅供引用。 reloadSections: withRowAnimation: 仅重新加载当前可见的单元格。您应该改为使用 insertRowsAtIndexPaths: withRowAnimation: 添加您想要的另外两个行。

docs这些信息似乎有点稀疏(模棱两可?),但他们确实说:

Calling this method causes the table view to ask its data source for new cells for the specified sections.

没有明确声明它会要求新的行数,正如您在您遇到的行为中看到的那样,这恰好是真的。

关于ios - 重新加载部分 :withRowAnimation: doesn't update number of rows,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25940478/

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