2014-11-06 81 views
1

我想在顯示另一個視圖之前執行某些代碼,當用戶在選項卡欄控制器中用不同視圖推動酒吧項目時。選項卡欄控制器:在切換視圖之前執行代碼

我想在我的課使用委派:

@interface HPAAddCarOverallInfoTableViewController() <UITabBarControllerDelegate>

而且我用的代表方法去接近我的問題:

-(void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController 

不幸的是,(UIViewController *)viewController持有約選擇查看信息控制器,而不是關於從哪個View Controller中選擇的信息。

問題: 你能告訴我嗎。我怎樣才能獲得信息,這些信息將從顯示的視圖中顯示標籤欄項目被推送的信息?

回答

2

您可以在標籤欄控制器委託中實施-tabBarController:shouldSelectViewController:。在新的視圖控制器被選中之前,你會得到這個消息,所以你可以找出什麼視圖控制器目前選擇,也許保存在伊娃或什麼的。也許你可以用這種方法完成你需要做的工作,或者你可以等到...didSelectViewController:消息,但是無論哪種方式,你都會知道新舊視圖控制器。

+1

謝謝您的回覆!我必須知道關於當前標籤欄的信息。我猜,你提到的最好的方法是存儲關於以前選擇的標籤欄的信息。因爲,正如我所看到的,委託方法只能提供有關所選標籤欄的信息,而不能與之前選擇的標籤欄相關。 – 2014-11-06 18:16:08

相關問題