如何使UIView,可以覆盖导航栏?
我想全屏显示UIView
,但显示状态栏,其他的东西,如导航栏需要由UIView
覆盖。
我怎样才能做到这一点 ?
为了完全理解这个问题而苦苦挣扎,但是我想你是问如何在另一个视图上显示一个UIView
(这样导航控件的视图就完全被第二个视图隐藏了)?
UIViewController
有:
- (void)presentModalViewController:(UIViewController *)modalViewController animated:(BOOL)animated
让你的第二个视图也由UIViewController
pipe理是明智的。 为了举例,让我们说您的视图与导航栏由UINavigationViewController
pipe理,并且您要显示的视图由otherViewController
pipe理…
[navigationViewController presentModalViewController:otherViewController animated:YES];
我相信他问的是如何使UIView覆盖整个屏幕(有点像自定义popup)。 这正是我如何在这里结束的。 所以我会提供我的解决scheme。 在任何地方调用此function
[self.navigationController.view addSubview:yourUIView];
这里你介绍的视图覆盖整个屏幕不同
[self.view addSubview:yourUIView];
由此,导航栏被揭露。
将视图直接添加到主UIWindow实例中作为子视图。
我知道OP正在寻找一种完全覆盖导航栏的方法,但不是覆盖导航栏,而是暂时隐藏它。 一旦隐藏,您可以将视图添加为子视图,并更改其框架或约束,以使其占据整个屏幕。
- (void)showViewOverNavBar:(UIView *)view { [self.navigationController setNavigationBarHidden:YES]; [self.view addSubview:view]; }