我将闪烁动画应用于contentView
的{{1}},以获取splitviewController的First viewController中的表格。我的问题是,当我使用splitViewController的tableViewcell
属性隐藏FirstViewcontroller时动画停止
我已经创建了子类UItableViewCell,并在设置属性时添加了动画
我将动画添加到presentsWithGesture
的{{1}},如下所示
contentView
我不知道是否ViewController的行为是在隐藏时在视图层次结构中停止核心动画,还是在我的代码中遗漏了某些内容。所以帮助我同行
答案 0 :(得分:5)
是的,一旦隐藏了视图控制器,动画就会从视图的layer
中删除。奇怪的是,有时动画即使view.layer.animationKeys.count == 0
仍然存在,但通常不会。
最好的办法是在-viewWillAppear:
或-viewDidAppear:
...中为@vignesh_kumar启动动画,可能通过以下方法:
- (void)startAnimations
{
NSArray *visibleCells = self.tableView.visibleCells;
for (CustomTableViewCell *cell in visibleCells) {
[cell animateIfNeeded];
}
}
@doNotCheckMyBlog,在这里你可以调用启动headerView
动画的方法。
除此之外,我猜测如果你背景应用程序然后恢复动画,动画也会停止。
您还需要在应用恢复时调用-startAnimations
方法。例如,您的应用代理可以在其NSNotification
或-applicationDidBecomeActive:
方法中发送-applicationWillEnterForeground:
。您的MasterViewController
可以观看此通知,并在收到时致电-startAnimations
。
如果您不需要在动画中返回相同的确切状态,那么这不应该是一个大问题。如果您需要在动画中返回与应用程序背景时相同的状态,那么您还需要保存状态,然后在重新启动动画时设置初始状态。