как добраться до tabBar - PullRequest
0 голосов
/ 08 мая 2011

У меня есть приложение навигации с панелью вкладок, и в первом представлении есть веб-представление, связанное с первым элементом панели вкладок. с кнопкой появляется веб-представление, и я хочу скрыть его, когда я касаюсь первого элемента панели вкладок .. Пожалуйста, помогите thx

1 Ответ

2 голосов
/ 08 мая 2011

Чтобы получить контроллер, просто:

[[tabBarController viewControllers] objectAtIndex:indexOfTheTab]

tabBarController относится к UITabBarController *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Вы можете прослушивать прикосновения пользователя на панели вкладок, даже если элемент вкладки уже является текущим.С помощью EDIT 1 вы можете получить доступ к своему делегату из любого места, если это необходимо.

EDIT 3:

Есть ли у вас IBOutlet UIWebView *myWebView в вашем ControllerView.h (тот, который отображает веб-интерфейс)Посмотреть).Если нет, добавьте эту розетку, затем подключите ее к веб-представлению в конструкторе интерфейсов.

В контроллере добавьте метод в .h и .m:

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

Поскольку этот метод объявлен в интерфейсе (.h), его можно вызвать из AppDelegate, метод tabBarController: didSelectViewController.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...