2014-02-13 130 views
0

我有一個UITabBarController其中我有3 UIViewControllers(3個選項卡)。 我想從每個UIViewController視圖中刪除特定元素,當整個UITabBarController將消失。從TabBar視圖控制器刪除UIElements

有沒有辦法做到這一點?我不能在每個UIViewController中使用viewWillDisappear:,因爲這會在選項卡更改時刪除這些元素。

有沒有什麼辦法可以將它處理成TabBarController.m文件中的viewWillDisappear:

+0

你想要做的,當你在你的坡平視圖控制器? –

+0

是的。 TabBarController進入navigationController。我想要在每個樹形選項卡上按下backButton的時候這樣做。 – hoya21

+0

查看我的答案並編輯答案 –

回答

1

您將參考viewController獲取顯示。在後退按鈕上使用這些參考來從您的控制器中刪除您的特定元素。

希望你得到它。隨意詢問是否有任何疑慮?

或者,您可以使用這些UINavigationController委託方法:

// Called when the navigation controller shows a new top view controller via a push, pop or setting of the view controller stack. 
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated; 
- (void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated; 
+0

首先感謝您的時間Samkit。當按下後退按鈕時調用的方法只能進入ViewControllers之一,並且只調用popViewController。如何獲取剩餘的viewControllers並刪除我想要的元素? – hoya21

+0

看到,問題是當你彈出的東西..所有你的viewControllers在內存中的引用將丟失...所以,你可以設置一些BOOL變量來檢查在推送到TabBarcontroller。一旦你再次來到tabBar根據你的要求從控制器中刪除視圖 –

+0

解決方案是爲每個viewController調用一個自定義方法到後退按鈕方法,並刪除我想要的元素。謝謝Samkit。 – hoya21

相關問題