Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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 hereEDIT: 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

like image 748
August Bjornberg Avatar asked Sep 17 '14 09:09

August Bjornberg


1 Answers

Updated :

Just add this in you ViewDidLoad method

self.automaticallyAdjustsScrollViewInsets = NO;
like image 65
iBhavin Avatar answered Oct 02 '22 23:10

iBhavin