0

我試圖完成切換視圖,而不使用導航控制器,標籤欄控制器等我目前正在使用Cocos2d導演類replaceScene方法。我的應用程序需要大約40個視圖控制器,每個視圖控制器都有幾個UIButtons,可以將它們帶到任何其他視圖控制器。什麼是不使用導航控制器或模塊加載視圖之間切換UIViewControllers的正確方法

例如,視圖控制器1可能帶有按鈕,可讓您查看控制器2 視圖控制器2可能具有鏈接到3,4,5,12的按鈕 視圖控制器4可能需要鏈接到視圖控制器17,5和3

我讀過的每篇教程和一些文檔只討論使用導航控制器,選項卡欄或以模態方式推送視圖。這些解決方案都不符合我的特殊要求。

Cocos2d有一個「replaceScene」方法,它完全符合我的需求,但是混合了我需要的許多UIKit控件,使得在Cocos2d中開發整個項目成爲一場噩夢。

我正在尋找一些東西,我可以讓用戶點擊一個按鈕,它將加載指定視圖控制器/視圖轉換到該視圖,並從內存中卸載以前的視圖控制器。有任何想法嗎?

回答

1

擁有引用了您的視圖控制器的根視圖控制器。也可以在每個視圖控制器中對根視圖控制器進行弱引用,就像在委託模式中一樣。如果其中一個視圖控制器想要進行視圖轉換,則向根視圖控制器發送消息。如果需要,讓根視圖控制器隱藏當前視圖並取消隱藏下一個視圖。

基本上你正在實現一個比UINavigationController和UITabBarController簡單得多的視圖容器。您可能可以使用標籤欄控制器實現同樣的功能,並隱藏標籤欄視圖,但我會實現一個自定義的。

相關問題