我有两个简单的 UIViewControllers,它们的视图是 320 x 460 的状态栏。我在 AppDelegate 做
self.window.rootViewController = [[[SimpleController alloc] init] autorelease];
[self.window makeKeyAndVisible];
在 SimpleController 我有一个按钮
- (IBAction) switchToVerySimpleController
{
[UIView transitionWithView: [[UIApplication sharedApplication] keyWindow]
duration: 0.5
options: UIViewAnimationOptionTransitionFlipFromLeft
animations:^{ [[UIApplication sharedApplication] keyWindow].rootViewController = [[[VerySimpleController alloc] init] autorelease]; }
completion: NULL];
}
新视图 (VerySimpleController.view) 用蓝色填充。动画后,新视图的底部会显示一条细小的白色条纹(状态栏大小),然后它会向下跳到位。为什么会发生这种情况以及如何避免这种情况?我想应该归咎于它的状态栏,我试图在 IB 中为这两个视图设置 statusBar = Unspecified,但这没有帮助。
更新:当我从一开始就隐藏状态栏(通过 .info 文件中的设置)时,不会发生视图调整。但仍然......我需要显示 statusBar 并且我需要该动画正常工作。