2012-01-20 73 views
3

UINavigationController中按下「後退」按鈕時,我需要調用viewDidLoad方法。因此,舉例來說,如果我有像這樣一個流程:如何在UINavigationController中按下後退按鈕時調用viewDidLoad方法? (iPhone/iPad)

查看A - >視圖B - >視圖C

我需要它,這樣,如果我在View C和我壓回,應該調用View BviewDidLoad方法。同樣,如果我在View B上,並按下後退按鈕View AviewDidLoad方法應該被調用。

請有人可以建議如何做到這一點?

回答

9

viewDidLoad方法當視圖控制器完成加載和設置視圖控制器,例如加載NIB文件被調用。爲了您的需要,您應該將相關代碼移動到viewWillAppear,每當相應的視圖控制器變爲可見時就會調用該代碼。所以對於一個轉換A -> B -> C (backto)-> BviewWillAppear方法B的視圖控制器將被調用兩次。

+0

'viewDidLoad'也會,如果你有自己的自定義'loadVOiew'方法,即你不使用發鈔銀行叫。如果你希望「after」事件更像'viewDidLoad',你可以使用'viewDidAppear'。 – smparkes

0

從你的描述,這聽起來像你將使用viewWillAppear中或viewDidAppear方法,而不是得到更好的服務。 viewDidLoad被設計爲只能被調用一次,除非由於內存警告而丟棄視圖。

相關問題