iOS通话状态栏覆盖顶部导航栏

时间:2012-03-07 10:18:16

标签: iphone ios uinavigationbar mapkit

我的iPhone应用程序存在一个小问题。在我的UIView笔尖上,在调用状态栏出现然后消失后,视图无法正确调整大小。具体来说,导航栏的顶部隐藏在状态栏下方。

这三张图片显示了通话中状态栏之前,期间和之后。我的问题显示在最后一张图片中。 Images

我使用此代码调用nib:

- (IBAction)showMapClicked:(id)sender 
{
    if (childController == nil) {
        childController = [[MapViewController alloc] initWithNibName:@"MapViewController" bundle:nil];
    }

    [self.navigationController pushViewController:childController animated:YES];
}

我发现了这个问题,但它似乎没有涵盖我的问题: Resize for in-call status bar

感谢您对如何修复的任何见解。

1 个答案:

答案 0 :(得分:3)

我设法解决了这个问题。我正在使用此代码隐藏页面上的标签栏,它正在弄乱页面顶部:

CGRect bounds = [[UIScreen mainScreen] bounds];
CGRect tabBarFrame = self.tabBarController.tabBar.frame;
self.tabBarController.view.frame = GRectMake(0, 0, bounds.size.width, bounds.size.height+tabBarFrame.size.height);

我应该做的是实现这个:

- (BOOL)hidesBottomBarWhenPushed { return YES; }