如何添加子视图以覆盖 UINavigation barin UIViewController?

Posted

技术标签:

【中文标题】如何添加子视图以覆盖 UINavigation barin UIViewController?【英文标题】:How to add a subview to cover UINavigation barin UIViewController? 【发布时间】:2016-05-04 05:24:11 【问题描述】:

您好,我想在当前视图控制器的顶部添加一个UIView。所以我确实喜欢这个。

- (void)viewDidLayoutSubviews


    UIView *vwOverlay=[[UIView alloc] initWithFrame:self.view.frame];
   [vwOverlay setBackgroundColor:[UIColor blackColor]];
   [vwOverlay setAlpha:0.5];
   [self.view addSubview:vwOverlay];

但这是添加我的视图顶部但在我的导航栏后面。仍然可以清楚地看到导航栏标题和导航菜单项,也可以单击导航栏项。但是我也想从我的新视图中覆盖这个导航栏。 我怎样才能做到这一点?请帮我。 谢谢

【问题讨论】:

我找到了答案here。将它添加到窗口解决了我的问题。 Add a UIView above all, even the navigation bar的可能重复 【参考方案1】:

使用此代码

UIWindow *window = [[UIApplication sharedApplication] keyWindow];
CGSize screenBounds = [UIScreen mainScreen].bounds;
UIView *vwOverlay=[[UIView alloc] initWithFrame: screenBounds];
[vwOverlay setBackgroundColor:[UIColor blackColor]];
[vwOverlay setAlpha:0.5];
[window addSubview:vwOverlay];

【讨论】:

以上是关于如何添加子视图以覆盖 UINavigation barin UIViewController?的主要内容,如果未能解决你的问题,请参考以下文章

UINavigation 控制器 UIViewController 和 UItoolbar 作为子视图问题

应该如何创建 UINavigation 工具栏子视图项 Interface Builder?

使用 UINavigation 保存后如何返回?

iPhone UIView - 调整框架以适应子视图

iOS - 如何在 tableView 单元格顶部添加子视图而不被前一个单元格覆盖

如何将按钮添加到 UINavigation 项?