簡體   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