我有2个场景,"列出场景"和"细节场景"。单击"列出场景"上的项目后,它将转到"详细信息场景"。在"详细信息场景"中,我有一些动画,动画图像保持重复从左到右或从右到左移动。在我回到"列出场景"后,场景看起来像"悬挂",我不能再为列表做任何事情(比如滚动)。退房后,发现了“从左到右,从右到左”#34;动画仍在后面运行。所以现在我假设,因为前一个场景我还在运行,所以当前场景无法检测到我的手指。
所以我的问题是,有什么办法可以在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等等。但结果仍然失败,动画继续在后面运行。
是否有人可以给我一些指导或提示?非常感谢!
答案 0 :(得分:0)
我相信myidleTimer是一个NSTimer。 NSTimer保留其目标。 您可以按照以下链接正确使其无效 Best time to invalidate NSTimer inside UIViewController to avoid retain cycle
也使定时器具有弱参考。