簡體   English   中英

呈現viewController之后,呈現viewController會發生什么?

[英]What happens with presenting viewController after it presents a presented viewController?

呈現一個viewController之后,呈現viewController會發生什么。 它的實例是否存在? 當呈現的viewController視圖將其遮蓋時,它會被銷毀嗎? 如果它被銷毀了,我該如何告訴系統不要銷毀它,而要保持其完好無損?

我正在設計一個女巫游戲,當單擊某些按鈕時,游戲會被顯示的viewController遮蓋。 當玩家返回游戲時,我希望它恢復呈現狀態之前的狀態。

呈現的視圖控制器保留其實例,並在取消呈現的視圖控制器后將控制權返回給它。 實際上,如果可能的話,您應該讓呈現視圖控制器關閉呈現的控制器

由於在呈現(或推送)另一個視圖控制器時,UIViewControllers的實例保持不變,因此,最佳實踐是在UIViewControllers中實現didReceiveMemoryWarning方法,以釋放所有可以釋放的內存(清除緩存等)。 您清除的所有數據都可能需要在viewWillAppear方法中重新填充。

適用於iOSView Controller編程指南中的其他信息:

對呈現視圖控制器的支持內置於UIViewController類中,並且可用於所有視圖控制器對象。 您可以從任何其他視圖控制器中呈現任何視圖控制器,盡管UIKit可能會將請求重新路由到其他視圖控制器。 呈現視圖控制器會在原始視圖控制器(稱為呈現視圖控制器)和要顯示的新視圖控制器(稱為呈現視圖控制器)之間建立關系。 此關系形成視圖控制器層次結構的一部分,並保持不變,直到關閉所顯示的視圖控制器為止。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM