Для правильного функционирования viewWillAppear
и viewDidAppear
в контроллере панели вкладок вы должны обязательно вызывать эти методы при отображении самого контроллера панели вкладок. То есть, если вы создаете UITabBarController
программно, обязательно вызовите эти методы:
UITabBarController *myTabBarController = [[UITabBarController alloc] init];
[myTabBarController setViewControllers:myViewControllerArray];
[myTabBarController viewWillAppear:NO];
[[self view] addSubview:[myTabBarController view]];
[myTabBarController viewDidAppear:NO];
Если ваш контроллер панели вкладок создается в файле NIB, это не применимо - и в этом случае я не уверен, почему ваш метод viewDidAppear
не будет вызван автоматически.