2016-02-28 77 views
0

我正在Xcode中使用界面生成器構建應用程序。一個VC有一些我已經定位在屏幕外的對象(例如,-600導致領先的餘量)。在按下按鈕時,它們會在視圖中生成動畫。定位離屏vs隱藏

我的問題是,屏幕上的意見有什麼影響?它佔用內存嗎?我們應該在動畫回到一邊後隱藏這些視圖嗎?

回答

1

任何已經分配和初始化的視圖都會佔用內存,不在屏幕上。這在Obj-c中更爲明顯,因爲當您撥打[UIView alloc] init]但它在快速UIView(frame:)中仍然相同。

視圖不會在其作爲子視圖添加之前繪製圖層。如果視圖默認關閉父視圖,該視圖仍然會自行繪製。您可以將父視圖設置爲clipsToBounds = YES(swift clipsToBounds = true),並且由於子視圖不會繪製其圖層,因此它不會從屏幕上繪製任何子視圖以節省一些內存。不確定這是否值得這樣做,儘管你只能暫時關閉屏幕然後開啓動畫。

如果你可以在屏幕上動畫之前實例化視圖,你應該'removeFromSuperview'並設置爲nil,或者將它們從你的數組中移除,但是一旦動畫完成,你就要存儲它們。