У меня большой проект, где клиент хочет настроить панель вкладок. Я выбрал BCTabBarController для замены UITabbarController. После нескольких исправлений все работает нормально, но после тестирования я обнаружил одну ошибку:
ViewWillAppear, ViewDidAppear, ViewWillDisappear ViewDidDisappear methods not called in selectded view controller and not called into BCTabBarController.
This problem appears after BCTabBarController show modal controller from instance of BCTabBarController class.
У меня опубликована проблема в репозитории github брианколинов, но до сих пор нет ответа.
Вот некоторый код, где я вызываю нынешний контроллер модального вида:
- (void) presentProperlyModalViewController:(UIViewController *)modalViewController animated:(BOOL)animated
{
if ([[self controllerToPresentModalFrom] respondsToSelector:@selector(presentViewController:animated:completion:)]) // For iOS 5
{
[[self controllerToPresentModalFrom] presentViewController:modalViewController animated:animated completion:^(){}];
}
else
{
[[self controllerToPresentModalFrom] presentModalViewController:modalViewController animated:animated];
}
}
-(void) dismissProperlyModalViewControllerAnimated:(BOOL)animated
{
if ([self respondsToSelector:@selector(dismissViewControllerAnimated:completion:)]) {
[self dismissViewControllerAnimated:animated completion:^(){}];
}
else
{
[self dismissModalViewControllerAnimated:YES];
}
}
ОБНОВЛЕНИЕ: эта проблема не воспроизводится в iOS5, но присутствует в iOS 4.3