gpt4 book ai didi

ios - 使用带有 reloadData 的动画

转载 作者:搜寻专家 更新时间:2023-10-30 20:19:07 25 4
gpt4 key购买 nike

在我的 UITableView 实例中,我将单元格移动到索引:0 并重新加载数据。问题是单元格“捕捉”到顶部(我认为是由于 reloadData)。我想知道我是否可以向上移动单元格,然后在几秒钟后应用 reloadData。这是我的代码:

[_toDoItems removeObject:todoItem];

[_toDoItems insertObject:todoItem atIndex:0 ];





[self.tableView beginUpdates];

[self.tableView moveRowAtIndexPath:origIndexPath toIndexPath:0];

[self.tableView endUpdates];

sleep(1);
[self.tableView reloadData];

这个问题是,调用该方法后,一切都会暂停1秒,然后出现“啪”的动画。

最佳答案

您首先使用 beginUpdates 告诉 tableView 期待更新。然后更新相关部分(如果您的 tableView 只有一个部分,则只需为部分编号传递零)。您可以在此处指定动画 - 您可以随意使用它以获得所需的效果。之后,您在 tableView 上调用 endUpdatesUITableViewRowAnimation 的 typedef 指定:

typedef enum {
UITableViewRowAnimationFade,
UITableViewRowAnimationRight,
UITableViewRowAnimationLeft,
UITableViewRowAnimationTop,
UITableViewRowAnimationBottom,
UITableViewRowAnimationNone,
UITableViewRowAnimationMiddle,
UITableViewRowAnimationAutomatic = 100
} UITableViewRowAnimation;

四处游玩,看看你想要哪一个。即使选择 UITableViewRowAnimationNone 有时也会产生不错的效果。根据你有多少部分,你可以使用 - (void)reloadSections:(NSIndexSet *)sections withRowAnimation:(UITableViewRowAnimation)animation

表格更新代码如下:

[self.tableView beginUpdates];
[self.tableView reloadSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationNone];
[self.tableView endUpdates];

关于ios - 使用带有 reloadData 的动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18061119/

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