简体   繁体   中英

White space under the navigation bar

When self.navigationController.navigationBar.translucent = NO , a white space occur under the navigation bar, like this:

截图示例

How can I remove it?

// 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;
}

Im gonna chime in how i solved this one since it was easy and worked well.

In your storyboard select the view controller that is getting the whitespace under the opaque navbar.

Then go to 'Attributes Inspector' -> 'View Controller' -> 'Extend Edges' -> Check the box that says 'Under Opaque Bars'

Try with

self.automaticallyAdjustsScrollViewInsets = NO

This is introduced in iOS7 and app will crash if you don't check system version before calling. You can also set this from storyboard ' Adjust Scroll View Insets '

在此处输入图片说明

尝试

self.wantsFullScreenLayout = YES;

The problem happens when you switch between translucent and opaque. I don't really know why, but the view is automatically resized. It is the same when you switch from opaque to translucent, the view expands at the top.

My guess is that you are probably setting somewhere else the bar as translucent. In the xib file or previously in the code.

尝试添加一个0像素的图像作为导航栏的阴影

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM