1

我有一个带有四个标签的标签栏应用程序。每个选项卡都使用其视图控制器加载一个 nib。在我的第一个笔尖中,我有两个观点。在第一个视图(占位符)中是一个按钮,用于切换到第二个视图(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];
}

问题:当我点击按钮时它工作正常。但是 Second-Tabbar Nib 在动画背景上?当我单击 Second-Tabbar 并返回到第一个时,动画背景是白色的(应该如此)。

在主 Appdelegate 中,我只添加了两个控制器:

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

有任何想法吗?

4

1 回答 1

1

该问题可能是由于将navigationController.view和 tabBarController.view 添加为 UIWindow 的子视图引起的。而不是这个视图层次结构:

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

尝试仅将 tabBarController 的视图添加到窗口,并让它为每个选项卡管理单独的 UINavigationController:

UIWindow -> UITabBarController -> [UINavigationController -> 视图,UINavigationController -> 视图,...]

于 2010-02-15T04:30:33.057 回答