Вид из второй вкладки в фоновом режиме при переходе между двумя представлениями на первой вкладке (а не цветом, как должно) - PullRequest
1 голос
/ 14 февраля 2010

У меня есть tabbar-приложение с четырьмя вкладками. Каждая вкладка загружает перо с его viewcontroller. В моем первом перо у меня два взгляда. В первом представлении (заполнитель) есть кнопка для переключения во второе представление (view1) и обратного (с логическим значением, чтобы увидеть, если второе представление находится сверху или нет).

-(IBAction)transitionFlip {
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:1.5];  
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.view cache:YES];
    if (view1OnTop) {
        [view1 removeFromSuperview];
        view1OnTop = NO;
    }
    else {
        [placeholder addSubview:view1];
        view1OnTop = YES;
    }
    [UIView commitAnimations];
}

Проблема: Когда я нажимаю на кнопку, она работает нормально. Но перо второй вкладки находится на фоне анимации? Когда я нажимаю на вкладку «Вторая» и возвращаюсь к первой, фон анимации становится белым (как и должно быть).

В главном Appdelegate я добавил только два контроллера:

[window addSubview:navigationController.view];
[window addSubview:tabBarController.view];
[window makeKeyAndVisible];

Есть идеи?

1 Ответ

1 голос
/ 15 февраля 2010

Вероятно, проблема вызвана добавлением обоих navigationController.view и tabBarController.view в качестве подпредставлений UIWindow. Вместо этой иерархии представлений:

UIWindow -> [UITabBarController -> [view, view, ...], UINavigationController -> view]

попробуйте добавить в окно только представление tabBarController и позволить ему управлять отдельными UINavigationControllers для каждой вкладки:

UIWindow -> UITabBarController -> [UINavigationController -> view, UINavigationController -> view, ...]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...