August Bjornberg August Bjornberg - 5 months ago 13
iOS Question

iOS - UINavigationController, Hide navigationBar

I have a minor trouble hiding the navigationBar for my UINavigationController

I have added:

self.navigation!.navigationBar.hidden = true


This, unfortunately leaves some kind of background (white) left behind the white status bar that pushes the content (green) downwards, and an unwanted scroll behaviour where I can drag the content up and down to show/hide the white background. What I need is for the statusbar to take up no vertical space what so ever and lay on top of the content (green)

How do I achieve this?
Answers in swift as well obj-c are very welcome

enter image description here
EDIT:
I have tried various versions of the following, the problem remains -.-

override func loadView() {
self.view = UIView(frame:UIScreen.mainScreen().bounds)
self.view.backgroundColor = UIColor.whiteColor()


self.navigation = UINavigationController(rootViewController: self.guideViewController!)

self.navigation!.navigationBarHidden = true
self.navigation!.setNavigationBarHidden(true, animated: true)

self.view.addSubview(self.navigation!.view)
}

override func viewDidLoad() {
self.automaticallyAdjustsScrollViewInsets = false
self.navigation!.automaticallyAdjustsScrollViewInsets = false
}


EDIT 2:

printing:

UIApplication.sharedApplication().statusBarFrame.size.height


after viewDidLoad returns 20

Answer

Updated :

Just add this in you ViewDidLoad method

self.automaticallyAdjustsScrollViewInsets = NO;
Comments