Я пытаюсь понять, как поймать событие, которое управляет вкладками переключателей на
UITabBarController
. Как я мог это сделать?
Как получить событие, которое переключает меню вкладки на iphone
Ответ 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:
?