簡體   English   中英

在tabBarController中有條件刷新視圖

[英]conditional refreshing of view in tabBarController

我實現了一個tabbarcontroller,其中有5個選項卡,每個選項卡都連接到一個視圖。

將創建tabBarcontroller,並且默認視圖分配發生在另一個視圖中。

一切看起來不錯,但我有一個錯誤。

選項卡中的每個視圖都有觸發其他視圖的按鈕。 這些視圖沒有選項卡,因此要返回到選項卡視圖,請使用“后退”按鈕。

當我按下后退按鈕時,我不想從頭開始創建視圖(帶有選項卡)。 所以我把相關的代碼放在viewdidload而不是viewwillappear中。 (此選擇是因為此視圖從服務器下載數據,並且在此時將代碼放置到viewwill上變得很耗時)

但是,如果我要從當前選項卡返回到以前觸摸過並查看過的選項卡。 我希望從頭開始加載視圖,因為此時應再次下載數據。 但是因為我使用的是viewdidload而不是viewwillappear,所以舊的視圖不會刷新。

根據我是來自其他選項卡還是來自帶有后退按鈕的視圖,我如何才能實現這種條件的視圖刷新

一種方法是在視圖控制器中使用isMovingToParentViewController方法。 這將使您能夠檢測當前堆棧是否已從導航控制器中彈出。

有一個答案在這里 ,解釋如何使用它,並鏈接到蘋果公司的文檔。

從該線程可以看到,您也可以使用NSNotificationCenter進行此操作。

暫無
暫無

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

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