Для всех, у кого есть этот вопрос, для того, чтобы решение Шихана Алама работало, вам нужно убедиться, что вы установили делегата tabBarController на self в методе viewDidLoad, например:
- (void)viewDidLoad {
...
self.delegate = self;
...
}
Затем необходимо убедиться, что ваш tabBarController соответствует протоколу UITabBarControllerDelegate, например:
@interface TabBarController : UITabBarController <UITabBarControllerDelegate> {
...
}
В противном случае переопределенный метод не будет вызван.