Подтвердить что ты не робот

Как получить событие, которое переключает меню вкладки на iphone

Я пытаюсь понять, как поймать событие, которое управляет вкладками переключателей на UITabBarController. Как я мог это сделать?

4b9b3361

Ответ 1

Если вы используете раскадровку, сделайте это

in didFinishLaunchingWithOptions

UITabBarController *tabBar = (UITabBarController *)self.window.rootViewController;
[tabBar setDelegate:self];

Также в AppDelegate держите <UITabBarControllerDelegate>

И затем

-(void) tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
   //Write your code here
}

Ответ 2

Внедрить UITabBarControllerDelegate, например. в делетете приложения applicationDidFinishLaunching

- (void)applicationDidFinishLaunching:(UIApplication *)application
{
    tabBarController.delegate = self;
    [window addSubview:tabBarController.view];
}

Затем выполните либо:

- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController;

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

Первый метод вызывается перед переключателем вида и дает вам возможность "наложить вето" на переключатель вида, возвращая NO

Второй метод вызывается после того, как переключатель вида состоялся

Ответ 3

Посмотрите на следующий метод в UITabBarControllerDelegate:

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

Сообщает делегату, что пользователь выбрал элемент на панели вкладок.

Ответ 4

Является UITabBarControllerDelegate тем, что вы ищете, в частности - tabBarController:didSelectViewController:?