导航栏下方的空白区域

时间:2014-03-12 14:33:48

标签: ios xcode uinavigationbar

self.navigationController.navigationBar.translucent = NO时,导航栏下会出现空格,如下所示:

Sample screenshot

如何删除它?

// From above example
(void)loadUI
{
    [self.countriesButton setBackgroundColor:[UIColor colorWithRed:(243/255.0) green:(178/255.0) blue:(128/255.0) alpha:1]];
    [self.countriesButton.layer setCornerRadius:10];
    [self.countriesButton setClipsToBounds:YES];

    /// set attributes for Navigation Bar
    self.navigationItem.title = @"Welcome"; // Title of Navigation Bar
    self.navigationController.navigationBar.barTintColor = [UIColor colorWithRed:(243/255.0) green:(178/255.0) blue:(128/255.0) alpha:1];
    self.navigationController.navigationBar.tintColor = [UIColor whiteColor];
    self.navigationController.navigationBar.titleTextAttributes = @{NSForegroundColorAttributeName : [UIColor whiteColor]};
    self.navigationController.navigationBar.translucent = NO;
}

5 个答案:

答案 0 :(得分:8)

我想知道我是如何解决这个问题的,因为它很容易且效果很好。

在故事板中选择获取不透明导航栏下的空白的视图控制器。

然后转到'属性检查员' - > '查看控制器' - > '延伸边缘' - > 选中“在不透明栏'

下”框

答案 1 :(得分:1)

尝试

self.automaticallyAdjustsScrollViewInsets = NO

这是在iOS7中引入的,如果你在调用之前没有检查系统版本,app会崩溃。 您也可以从故事板' 调整滚动视图插图'

进行设置

enter image description here

答案 2 :(得分:0)

尝试

self.wantsFullScreenLayout = YES;

答案 3 :(得分:0)

当您在半透明和不透明之间切换时会出现问题。我不知道为什么,但视图会自动调整大小。当你从不透明切换到半透明时,它是相同的,视图在顶部扩展。

我的猜测是你可能在其他地方设置了半透明的酒吧。在xib文件中或之前的代码中。

答案 4 :(得分:-1)

尝试添加0 px图像作为导航栏的阴影

[self.navigationController.navigationBar setShadowImage:[UIImage new]];