UINavigationBar移至状态栏所覆盖的顶部。

| 有没有人遇到过这样的问题:当屏幕在隐藏状态栏和显示状态栏之间切换时,带有自定义背景的导航栏会移到顶部? 问题是调试版本不会发生此问题,而发行版本会发生此问题。我真的很困惑,因为我没有对UI行为使用任何条件。 此外,只有在应用程序以“全屏”状态进入前台模式时,才会发生这种情况。然后我从全屏状态切换到非全屏状态,出现了问题。 更新:无论我是否使用自定义背景,都会发生此问题。 我正在使用在iOS 4.3.3上运行的iOS 4.3 SDK。 我这样做是这样的:
UIWindow *window = [[UIApplication sharedApplication] firstWindow];
[window addMoveInTransitionWithDuration:0.5 subtype:kCATransitionFromBottom];
[self.fullScreenViewController.view removeFromSuperview];

[self presentNonFullScreenViewAnimated:NO];
这是firstWindow方法:
- (UIWindow *)firstWindow
{
  if ([self.windows count] > 0)
    return [[self windows] objectAtIndex:0];

  return [self keyWindow];
}
这是presentNonFullScreenViewAnimated:方法
- (void)presentNonFullScreenViewAnimated:(BOOL)animated
{   
  [[UIApplication sharedApplication] setStatusBarHidden:NO];
  [self.navigationController setNavigationBarHidden:NO animated:NO];

  NonFullScreenViewController *viewController = [[NonFullScreenViewController alloc] init];
  [self.navigationController pushViewController:viewController animated:animated];
  [viewController release];    
}
    
已邀请:

要回复问题请先登录注册