iOS 7 | Navigation bar / Toolbar buttons very close to status bar
The navigation bars or toolbars have to be at (0, viewController.topLayoutGuide.length
) with bar positioning of UIBarPositionTopAttached
. You should set the delegate of your navigation bar or your toolbar to your view controller, and return UIBarPositionTopAttached
. If positioned correctly, you will have the result in your third image.
More information here: https://developer.apple.com/documentation/uikit/uibarpositioningdelegate?language=objc
Do these steps
Drag the NavigationBar to your ViewController in Xib, set the ViewController as its delegate. Note that the NavigationBar should be at (0, 20)
In ViewController, conform to the UINavigationBarDelegate
@interface ETPViewController () <UINavigationBarDelegate>
Implement this method
- (UIBarPosition)positionForBar:(id <UIBarPositioning>)bar
{
return UIBarPositionTopAttached;
}
positionForBar tells the NavigationBar if it should extend its background upward the Status Bar