0

我有 2 个场景,“列表场景”和“细节场景”。单击“列表场景”上的项目后,它将转到“详细场景”。在“细节场景”中,我有一些动画,动画图像不断重复从左到右或从右到左移动。在我返回“列表场景”后,场景看起来像“悬挂”,我不能再为列表做任何事情(比如滚动)。退房后,发现“从左到右,从右到左”的动画还在后面运行。所以现在我假设,因为之前的场景我还在运行,所以当前场景无法检测到我的手指。

所以我的问题是,在 popviewcontrolleranimated 之后有什么方法可以删除/释放/关闭前一个场景吗?下面是我现在测试的代码。

-(void)viewWillDisappear:(Bool)animated{
[super viewWillDisappear:animated];
self.imagePanViewController = nil; //target is this viewcontroller, this viewcontroller handle the animation
[self.navigationController setNavigationBarHidden:NO animated:YES];
}

我曾尝试使用“dismissViewController”、release、controller = nil 等方式。但结果仍然失败,动画继续运行。

有人可以给我一些指导或提示吗?多谢!

4

1 回答 1

0

我相信 myidleTimer 是一个 NSTimer。NSTimer 保留它的目标。您可以按照以下链接正确使其无效 最佳时间在 UIViewController 中使 NSTimer 无效以避免保留周期

还要使计时器具有弱参考。

于 2014-09-21T18:58:55.447 回答