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
.
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.
Add the view to your main UIWindow instance directly as a subview.
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];
}
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];