当self.navigationController.navigationBar.translucent = NO
时,导航栏下会出现空格,如下所示:
如何删除它?
// 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;
}
答案 0 :(得分:8)
我想知道我是如何解决这个问题的,因为它很容易且效果很好。
在故事板中选择获取不透明导航栏下的空白的视图控制器。
然后转到'属性检查员' - > '查看控制器' - > '延伸边缘' - > 选中“在不透明栏'
下”框答案 1 :(得分:1)
尝试
self.automaticallyAdjustsScrollViewInsets = NO
这是在iOS7中引入的,如果你在调用之前没有检查系统版本,app会崩溃。 您也可以从故事板' 调整滚动视图插图'
进行设置
答案 2 :(得分:0)
尝试
self.wantsFullScreenLayout = YES;
答案 3 :(得分:0)
当您在半透明和不透明之间切换时会出现问题。我不知道为什么,但视图会自动调整大小。当你从不透明切换到半透明时,它是相同的,视图在顶部扩展。
我的猜测是你可能在其他地方设置了半透明的酒吧。在xib文件中或之前的代码中。
答案 4 :(得分:-1)
尝试添加0 px图像作为导航栏的阴影
[self.navigationController.navigationBar setShadowImage:[UIImage new]];