簡體   English   中英

呈現一個新的viewController似乎並沒有卸載以前的

[英]Presenting a new viewController doesn't seem to unload the previous

我正在開發的游戲分別包含一個主菜單和一個游戲viewController。

但是,當從游戲屏幕轉到菜單屏幕時,似乎以前的viewController中的類文件仍然有效?

例如,玩家通過在游戲viewController中點擊屏幕上的任意位置來開始游戲,這會導致“啟動”新的小節,而小節又會根據方向的不同而發出小調。 但是,當游戲結束后(通過按下按鈕以顯示菜單viewController來實現)返回主菜單時,在菜單屏幕上的任意位置似乎都可以從游戲viewController重新開始游戲了嗎?

借此,我的意思是盡管主菜單viewController中沒有可用的代碼來播放該聲音,但仍會播放小節啟動聲音,按菜單上的play即可將您帶到已重置游戲的游戲屏幕,直到點擊同樣,盡管所有圖像都是不可見的,但聲音在播放時暗示着出現了一個新的小節。

我確保在離開任何視圖時,都會擦除該視圖中的所有子視圖,這樣無論何時加載屏幕,都不會被遮蓋。 我也嘗試過取消以前的視圖控制器,但是似乎沒有任何效果。 因此,我無法確定是要刪除視圖還是刪除視圖。。。

不幸的是,我的描述很可能並沒有給自己帶來任何公正,因此希望該視頻演示會有所幫助。 請注意,在一開始,我點擊屏幕以顯示沒有聲音播放,但是當然看不到。

編輯:您會注意到,返回菜單時,輕按屏幕似乎會使背景中的移動條弄亂,盡管gameBarMovement計時器在從游戲移至菜單時無效。 他們使用單獨的類文件的事實也應該意味着應該不影響酒吧嗎? 認識我,我已經錯過了一些顯而易見的事情。

據我所知,這就是UIViewController生命周期的工作方式。 在應用開始耗盡內存之前,不會卸載UIViewcontrollers。 在您的游戲VC中,您可能需要某種方法來停止運行游戲循環,並在啟動新游戲后恢復該循環。

暫無
暫無

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

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