2010-10-18 39 views
0

我有一個tabBar控制器。點擊活動標籤,默認情況下,在該標籤的導航控制器上調用popToRootViewController。這就是我想要的,但是我也需要在發生這種情況時進行一些定製。有問題的視圖控制器有一個導航控制器,但不是UINavigationController的子類。我怎樣才能監聽popToRootViewController何時發生並採取一些行動?popToRootViewController - 通知

+0

你試過在viewWillDisapear中聽嗎? – SachinVsSachin 2013-01-11 06:59:26

回答

1

您可以使用UINavigationControllerDelegate's方法:

– navigationController:didShowViewController:animated: 

,並檢查顯示控制器是你想要的控制器。

希望這有助於

(我記得的iOS 2.x的使用這個,這是一個有點馬車,不知現在是確定它應該是因爲它已經4)

+0

這工作,種。唯一的問題是,當您第一次顯示根視圖控制器時會調用此方法。如果popToRootViewController發生,我只想採取行動。 – sol 2010-10-18 18:10:35

+0

我還沒有嘗試,但UINavigationBarDelegate的方法也應該工作:navigationBar:didPopItem:例如 – nacho4d 2010-10-18 18:33:06

0

您可以將代碼放在UITabBarController委託的方法– tabBarController:didSelectViewController:內,也可以放在UIViewController的- viewWillAppear:animated:方法中。

0

注意:

如果您在導航堆棧添加您的Tabbarcontroller,

-(void)viewWillAppear:(BOOL)animated 

不會在iOS 4.2的調用或以下,我浪費了這麼多天來弄清楚這一點。

相關問題