gpt4 book ai didi

ios - 仅在用户滚动时从 willDisplayCell 动画单元格,而不是在 reloadData 之后

转载 作者:可可西里 更新时间:2023-11-01 04:44:05 24 4
gpt4 key购买 nike

好的,所以我在 willDisplayCell 方法中实现了自定义动画。当我上下 ScrollView 时它工作正常。当我点击其中一行时,它将被推送到另一个 View Controller 以显示更多详细信息并让用户更新数据。

问题是当用户返回到 TableView 时。我在 viewWillAppear 中调用了 [tableView reloadData] 方法以确保显示更新的数据。这将触发我之前设置的动画过渡。

我的问题是:有没有办法只在用户向上/向下滚动 tableview 时执行动画,而不是在调用 reloadData 时执行动画?

如果有一种方法可以将 willDisplayCellscrollViewDidScroll 或类似的东西混合在一起,那就太棒了。

谢谢!

最佳答案

最简单的解决方案是添加一个状态标志,告诉 willDisplayCell 它是否应该实际设置动画。

将属性添加到您的 UITableViewDelegate:

@property (nonatomic) BOOL shouldPreventDisplayCellAnimation;

在调用reloadData前后设置属性:

- (void)viewWillAppear:(BOOL)animated
{

self.shouldPreventDisplayCellAnimation = YES;
[self.tableView reloadData];
self.shouldPreventDisplayCellAnimation = NO:
}

修改 willDisplayCell 以根据条件设置动画

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (!self.shouldPreventDisplayCellAnimation) {
//animate
}
}

关于ios - 仅在用户滚动时从 willDisplayCell 动画单元格,而不是在 reloadData 之后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21364652/

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