2011-05-08 47 views
0

我有一個帶有標籤欄的導航應用程序,第一個視圖中有一個與第一個標籤欄項目相關的web視圖。一個按鈕Web視圖出現,我想隱藏它,當我接觸到第一個標籤欄項目。請幫助THX如何到達tabBar

回答

2

爲了得到控制,只是:

[[tabBarController viewControllers] objectAtIndex:indexOfTheTab] 

tabBarControllerUITabBarController *tabBarController在你的AppDelegate 。

編輯1:添加到您的AppDelegate.h

-(UITabBarController*)getTabBarController; 

添加到您的AppDelegate.m現在

-(UITabBarController*)getTabBarController { return tabBarController; } 

,你可以從任何地方訪問它:

[(AppDelegate*)[[UIApplication sharedApplication] delegate] getTabBarController] 

別忘了#import "AppDelegate.h"

編輯2:在你AppDelegate.m

在第一種方法,只需要添加:self.tabBarController.delegate = self;

然後,覆蓋:

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController 
{ 
    //something like : [tabBarController hideTheStuffs]; 
} 

用EDIT 2,你可以聽選項卡中的用戶觸摸即使選項卡項目已經是當前的項目。使用編輯1,你可以從任何地方訪問你的代表,如果需要的話。

編輯3:

,在你有一個IBOutlet UIWebView *myWebView ControllerView.h(具有顯示網頁視圖的視圖)。 如果不是,請添加此插座,然後將其連接到界面構建器中的webview。

-(void)hideTheWebView { myWebView.hidden = YES; }

由於這種方法是在接口中聲明(.h)中,您可以從AppDelegate中調用它,方法tabBarController:

在控制器中,h和.M添加的方法:didSelectViewController。

+0

我在我的appdelegate中有一個控制器...但我只是想從另一個類比應用程序代表達到第一個標籤欄按鈕...做yopu knoew如何做..你能告訴我完整的代碼嗎? – 2011-05-08 11:32:22

+0

完成。這就是我在我的項目中所做的。 – 2011-05-08 11:37:56

+0

thx我做了所有的事情,但我仍然不知道在哪裏以及如何使用[(AppDelegate *)[[UIApplication sharedApplication]委託] getTabBarController]我想如果有人按下標籤欄按鈕web將被隱藏(對不起,我是新來的這些東西) – 2011-05-08 11:57:09

相關問題