問題
TabBarの特定ボタンが押された時に Google Analytics のイベントが投げたい。
どうすればタブの切り替えを検知できるのか?
解決
UITabBarControllerDelegateの、
tabBarController:didSelectViewControllerメソッドを使う。
このメソッド内で ViewController のインスタンスを比較して切り替えを検知する。
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
if (viewController == viewController1) {
[viewController1 popToRootViewControllerAnimated:NO];
} else if (viewController == viewController2) {
[viewController2 popToRootViewControllerAnimated:NO];
} else if (viewController == viewController3) {
[viewController3 popToRootViewControllerAnimated:NO];
}
}