2

在我的應用程序中,我使用UINavigationController在許多不同的UIViewControllers之間切換。唯一的問題是,在我的一個觀點中,在加載時,我必須做大量的定製(數據訪問和圖形,這兩者都必須在代碼中完成)。當按下視圖控制器時,動畫非常不連貫,因爲手機被迫同時爲過渡設置動畫並設置視圖。在推送/呈現之前設置UIViewController

它被加載之後設置的視圖不是一個選項,所以是有可能將其設置(存在具有所有的在其上的必要的代碼的方法調用setupViewDidLoad)分配期間之前它被推/呈現?

編輯:

讓我稍微修改我的問題。我發現,如果我使用[self presentModalViewController:animated:]來呈現視圖控制器,而不是使用導航控制器來推送視圖控制器,那麼就沒有混亂。這是什麼原因?

回答

1

最好的辦法就是做到這一點。在您的視圖.m文件中,在viewWillAppear中設置您需要的任何代碼。如果您必須遠程訪問數據,您可能需要考慮創建一個自己的數據存儲類來處理和存儲數據,以便在每次 - 即使視圖未加載或尚未加載時都可以執行此操作。

+0

你知道,我真的沒有迴應你的編輯誠實。真奇怪。導航控制器將呈現一個新的視圖,以導航控制器控制的視圖堆疊。模態視圖只是簡單地展示了當前所有內容的頂層視圖 - 也許因爲它不能在堆棧中進行控制,它可以稍微加載一些內容?在這一點上只是一個受過教育的猜測。 – Brayden

+0

是的;這似乎是一個奇怪的問題,因爲當我從模態顯示所有視圖(從未注意到任何動畫滯後)切換到使用導航控制器時,我對UINavigationController的震盪程度感到驚訝。這是一個有趣的問題;現在我只是以模態方式呈現該視圖控制器,而不是使用導航控制器,因爲它無論如何都將是最高級的。 –

相關問題