【问题标题】:How to add a view above all in a controller?如何在控制器中首先添加视图?
【发布时间】:2017-07-23 11:47:18
【问题描述】:

我想在所有视图上方以及带有故事板的导航栏上方添加一个视图。我在故事板中添加了但它看起来像这样:

但是我想把它加到导航栏上面。

如何添加故事板?

【问题讨论】:

  • 向我们展示您的故事板和 vc 层次结构
  • 使用 UIWindow,我不确定如何通过情节提要使用它,但是通过代码您可以将子视图添加到关键窗口。
  • @agent_stack:我用窗口层次结构编辑了我的问题。请检查一次。
  • 你为什么不把navigationBar隐藏起来?
  • @Rikh:我不能。这是我项目中的必修课。

标签: ios objective-c uiview storyboard uinavigationbar


【解决方案1】:

根据您的要求,您需要将自定义视图添加到窗口中,而不是在NavigationBar 上方显示。

尝试添加您的视图,例如:

[objAppDelegate.window addSubView:your customview];

相应地设置您的视图框架窗口。

【讨论】:

    【解决方案2】:

    如果你想首先添加一个视图,你可以使用UIWindow

    在应用程序委托的UIWindow 中添加您的子视图。但直接在 UIWindow 上添加视图并不是最佳实践。

    【讨论】:

      【解决方案3】:

      我假设您希望拥有自定义导航栏,并且为此您正在使用此视图。 好吧,如果是这种情况,那么您可以简单地将其放在视图层次结构中,并设置所有约束,例如:

      1. 主视图的前导空间 = 0
      2. 身高 = 64
      3. 与主视图等高
      4. 主视图垂直居中

      如果不是您想要的,请恢复。谢谢

      【讨论】:

      • 实际上我在上面的屏幕中为我的项目添加了侧边菜单。所以当用户点击导航栏中的菜单按钮时,我会显示一个视图。在这种情况下,我该如何删除导航栏?
      • 要创建侧边栏菜单 - 您可以按照本教程进行操作:appcoda.com/sidebar-menu-swift 另外.. 要简单地隐藏导航栏,您可以使用:self.navigationController?.navigationBarHidden = true
      【解决方案4】:

      你应该使用用户容器视图,使用这个容器内的所有视图控制器,并在容器视图的顶部设置视图

      【讨论】:

      • 容器视图将是最简单且易于处理的方法
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多