导航栏下的空白处
当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; }
我会怎样解决这个问题,因为这很容易,而且运作良好。
在故事板中,select在不透明导航栏下获得空白的视图控制器。
然后进入“属性检查器” – >“视图控制器” – >“延长边缘” – > 选中“不透明条形图”
尝试
self.automaticallyAdjustsScrollViewInsets = NO
这是在iOS7中引入的,如果在调用之前没有检查系统版本,应用程序将会崩溃。 您还可以从情节提要“ Adjust Scroll View Insets ”
尝试
self.wantsFullScreenLayout = YES;
当您在半透明和不透明之间切换时,会发生问题。 我不知道为什么,但视图会自动resize。 当你从不透明切换到半透明时,视图在顶部展开。
我的猜测是,你可能设置在半透明的地方吧。 在xib文件或之前的代码中。
尝试添加一个0像素的图像作为导航栏的阴影
[self.navigationController.navigationBar setShadowImage:[UIImage new]];