繁体   English   中英

动画使我的应用崩溃:如何删除它们?

[英]Animations make my app crash: How can I remove them?

在我的应用程序中,根据需要创建视图控制器对象。 当视图控制器消失时,我可以通过在其视图上调用-removeFromSuperview来摆脱它,然后将保持属性设置为nil。

这样,我的应用程序始终会使用非常低的内存。 但是有一个问题:我在某些视图控制器中运行着繁重的动画,每个动画总是有一个动画代理,它是self。 现在发生的事情是:当有动画在运行并且我放下视图控制器时,它消失了-并且在某些时候当其中一个动画完成时,它似乎崩溃了。

所以问题是:如何从视图及其所有子视图中删除任何正在运行的动画?

同意 关于如何添加/删除子视图以及如何保留/释放子视图,可能会有一些困惑。 确保您遵循以下准则:

// To add
AView * aSubView = [[AView alloc] init];
[aContainerView addSubview:aSubView];
[aSubView release]; // aSubView is retained by aContainerView

...然后

// To remove
[aSubView removeFromSuperview]; // and nothing else!

要这样做:

[self removeFromSuperview]; // Don't cut the branch on which you are sitting

(您已经知道!)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM