我正在開發一個項目在Objective-C爲iOS,我有一個視圖與多個選項卡使用UITabBarController的子類。每個選項卡都有它自己的UINavigationController。當視圖在選項卡上加載時,相應的激活事件會觸發(viewWillAppear,viewDidLoad等)。但是,一旦你點擊不同的標籤,然後點擊,並不是所有的這些事件都會再次觸發,因爲視圖已經是特定標籤的可見視圖(例如viewDidLoad)。NSNotification或委託註冊時,可見視圖更改
我的問題是:是否有一個通知或委託,我可以簡單地註冊並獲得通知時,窗口中的可見視圖更改?我做了一些研究,但沒有找到任何具體的內容。我打算做的是:
- 檢查可見視圖時,標籤欄指標的變化:tabBarController:didSelectViewController
- 註冊爲每個導航控制器上此事件:navigationController:didShowViewController:動畫:
通過這樣做,每當visibleViewController發生變化時,通過更改選項卡或在選項卡的導航流中導航(除了模式,在這種情況下,我不關心它們,它們已被處理),我應該得到通知。
這是正確的做法嗎?
謝謝。我會盡快給出這一點 - 我還有其他一些缺陷可以走出門外。 :) –