我想全屏显示UIView
,但要显示状态栏,其他内容,例如导航栏需要UIView
覆盖。
我该怎么做?
答案 0 :(得分:61)
我相信他所问的是如何让UIView覆盖整个屏幕(有点像自定义弹出窗口)。这正是我在这里结束的方式。所以我会提供我的解决方案。在任何地方调用此函数。
[self.navigationController.view addSubview:yourUIView];
此处您介绍的视图覆盖整个屏幕,与
不同[self.view addSubview:yourUIView];
因此,导航栏被揭开。
答案 1 :(得分:2)
将视图直接添加到主UIWindow实例作为子视图。
答案 2 :(得分:1)
为了完全理解这个问题而苦苦挣扎,但我想你问的是如何在另一个视图上方显示UIView
(以便导航控件的视图被第二个视图完全隐藏)?
UIViewController
有:
- (void)presentModalViewController:(UIViewController *)modalViewController animated:(BOOL)animated
将第二个视图管理为UIViewController
也是明智之举。例如,假设导航栏的视图由UINavigationViewController
管理,您要显示的视图由otherViewController
管理...
[navigationViewController presentModalViewController:otherViewController animated:YES];
答案 3 :(得分:0)
我知道OP正在寻找一种完全覆盖导航栏的方法,但不是覆盖它,你可以暂时隐藏它。隐藏后,您可以将视图添加为子视图并更改其框架或约束,以便占用整个屏幕。
- (void)showViewOverNavBar:(UIView *)view {
[self.navigationController setNavigationBarHidden:YES];
[self.view addSubview:view];
}