DNB5brims
DNB5brims

Reputation: 30618

How to make a UIView that can cover the navigation bar?

I want to show the UIView in full screen, but show the status bar, other things, like the navigation bar need to cover by the UIView.

How can I do that ?

Upvotes: 14

Views: 16346

Answers (4)

dannywartnaby
dannywartnaby

Reputation: 5542

Struggling a little to fully understand the question, but I think you're asking how you can display a UIView above another view (so that the view with the navigation controls is completely hidden by the second view)?

UIViewController has:

- (void)presentModalViewController:(UIViewController *)modalViewController animated:(BOOL)animated

It would be wise to have your second view managed by a UIViewController, too. For the sake of example let's say your view with the navigation bar is managed by UINavigationViewController, and the view you want to display is managed by otherViewController...

[navigationViewController presentModalViewController:otherViewController animated:YES];

Upvotes: 1

Matt Becker
Matt Becker

Reputation: 2368

I know the OP was looking for a way to cover the navigation bar totally, but instead of covering it, you could just temporarily hide it. Once hidden, you can add you view as a subView and change its frame or constraints so it takes up the whole screen.

- (void)showViewOverNavBar:(UIView *)view {

    [self.navigationController setNavigationBarHidden:YES];
    [self.view addSubview:view];
}

Upvotes: 1

Byte
Byte

Reputation: 2940

I believe what he was asking was how to make a UIView cover the entire screen (sort of like custom pop up). This is precisely how I ended up here. So I will offer my solution. Call this function anywhere.

[self.navigationController.view addSubview:yourUIView];

Here the view you introduced cover over the whole screen unlike

[self.view addSubview:yourUIView]; 

Whereby, the navigation bar is uncovered.

Upvotes: 64

Eiko
Eiko

Reputation: 25632

Add the view to your main UIWindow instance directly as a subview.

Upvotes: 2

Related Questions