Ios 使用重复和滚动设置UITableViewCells的动画

Ios 使用重复和滚动设置UITableViewCells的动画,ios,objective-c,uitableview,animation,tableviewcell,Ios,Objective C,Uitableview,Animation,Tableviewcell,我有一个简单的表视图,我使用带有一个UIImage和一些标签的自定义单元格 我想设置图像大小的动画,为此我在CellForRowatineXpath方法中添加了以下内容: 当我启动应用程序时,它工作正常,只有读取的单元格使用UIViewAnimationOptionRepeat选项在颊部设置动画 当我在tableview上滚动时,问题就开始了。某些已读取的单元格停止设置动画,并且每个单元格中的单元格动画时间循环不同 有什么想法吗 谢谢 编辑:我认为问题在于可重复使用的细胞 你说我尝试重新加载ta

我有一个简单的表视图,我使用带有一个UIImage和一些标签的自定义单元格

我想设置图像大小的动画,为此我在CellForRowatineXpath方法中添加了以下内容:

当我启动应用程序时,它工作正常,只有读取的单元格使用UIViewAnimationOptionRepeat选项在颊部设置动画

当我在tableview上滚动时,问题就开始了。某些已读取的单元格停止设置动画,并且每个单元格中的单元格动画时间循环不同

有什么想法吗

谢谢


编辑:我认为问题在于可重复使用的细胞

你说我尝试重新加载tableview,但这不起作用。碳化硅

您尝试何时以及如何重新加载表视图?回应 正在调用UIApplicationWillEnterForegroundNotification消息处理程序?把密码贴出来

我会在CellForRowatineXpath方法中添加一个log语句,以确保调用它,并记录正在更新的IndExpath


是否确实希望每次应用程序返回前台时,表格视图每个单元格中的图像都具有动画效果。这看起来很烦人。

正如邓肯所说,重新加载tableView会导致动画发生。确保对动画进行断点/日志记录,以确保代码实际到达那里。一旦您确定了如何通过重新加载表格来再次出现动画,您可以添加两个NSNotificationCenter调用,让应用程序知道在应用程序从后台恢复活动后重新加载表格

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(appDidBecomeActive:) name:UIApplicationDidBecomeActiveNotification object:nil];

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(appDidEnterForeground:) name:UIApplicationWillEnterForegroundNotification object:nil];
只需设置适当的选择器即可处理和重新加载表格:

e、 g


如果未读取通知,我实际上只是在抛出动画。这根本无法澄清您的问题。当应用程序处于活动状态时,我将重新加载tableView。[[NSNotificationCenter defaultCenter]addObserver:self selector:@selectorappDidBecomeActive:name:UIApplicationIDBecomeActivityObject:nil];方法cellForRowAtIndexPath调用正确。这就是我正在尝试的。当应用程序激活时,我抛出[\u tableView reloadData]。
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(appDidBecomeActive:) name:UIApplicationDidBecomeActiveNotification object:nil];

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(appDidEnterForeground:) name:UIApplicationWillEnterForegroundNotification object:nil];
- (void)appDidBecomeActive:(id)sender {
    [_tableView reloadData];
}