Iphone 将启动屏幕子视图添加到UIwindow时出现问题

Iphone 将启动屏幕子视图添加到UIwindow时出现问题,iphone,objective-c,cocoa-touch,Iphone,Objective C,Cocoa Touch,我有一个应用程序,有一个登录屏幕和启动屏幕。我希望这些屏幕一个接一个地显示,因此我将它们作为子视图添加到应用程序代理的窗口属性中 [window addSubview:mainViewController.view]; [window addSubview:loginViewController.view]; [window addSubview:splashScreenViewController.view]; 问题是,添加的每个后续子视图似乎都以一种奇怪的方式出现(没有遵守nib文件的方向

我有一个应用程序,有一个登录屏幕和启动屏幕。我希望这些屏幕一个接一个地显示,因此我将它们作为子视图添加到应用程序代理的窗口属性中

[window addSubview:mainViewController.view];
[window addSubview:loginViewController.view];
[window addSubview:splashScreenViewController.view];
问题是,添加的每个后续子视图似乎都以一种奇怪的方式出现(没有遵守nib文件的方向)。我知道我的nib文件没有错,因为如果我只包含一个视图,无论它是哪个视图,它都会正确显示。此外,如果我将视图作为子视图添加到主视图控制器的视图(与应用程序代理相反)视图中,我不会遇到这个问题。但是,在屏幕底部有一个20px的间隙,因为我想UIWindow占了状态栏的比例,而普通UIView则不然


有人知道问题出在哪里吗?你在做什么特别的事吗?我不应该向UIWindow添加几个子视图吗?如果任何人有关于如何做飞溅屏幕的提示,那将是非常值得赞赏的。

< P>我建议你在中间使用UIVIEW…

UIView view = [[UIView alloc] init];
[view addSubview:mainViewController.view];
[view addSubview:loginViewController.view];
[view addSubview:splashScreenViewController.view];
[window addSubview:view];
[view release];
如果你想在启动屏幕上设置动画,请看我的一篇文章:

您一次只能有一个视图控制器。

您应该使用
-(void)tabBarController:(UITabBarController*)tabBarController didSelectViewController:(UIViewController*)viewController
委托功能来检查单击了哪个选项卡。如果是第二个视图(如果只有两个选项卡,则应该是第二个视图),则在splashscreencontroller中调用弹出模式的自定义方法。如果启动屏幕只显示一次,请确保在之后设置一个标志,以确保它不会再次弹出


TabBarController在显示之前加载所有视图,因此当用户在标签之间切换时不会出现延迟。

我想这是最接近我要查找的内容,但这仍然意味着我必须将其添加到窗口的子视图中,而不是使视图成为窗口本身的子视图。当我尝试将子视图附加到UIWindow时,我仍然不明白为什么UIWindow会以一种奇怪的方式运行。不过,感谢所有帮助。UiWindow不能处理多个子视图。。。当我开始为iPhone编写代码时,我尝试过它,但它从来没有给我合适的结果。