【问题标题】:Place a UIView on top of a UINavigationcontroller in landscape mode在横向模式下将 UIView 放在 UINavigationcontroller 的顶部
【发布时间】:2012-11-14 13:49:42
【问题描述】:

在横向模式下,在 UINavigationController 上显示 UIView 的最佳方式是什么? 尝试

[self.navigationController.view addSubView: myView]

将 myView 置于导航栏下方。

[self.window addSubView:myView]

将以纵向显示 myView(即向左或向右旋转 90 度)。我可以轮换,但我希望有更好的解决方案。

有没有办法用 UIView 覆盖整个 NavigationController?

【问题讨论】:

    标签: ios uinavigationcontroller overlay


    【解决方案1】:

    也许你可以隐藏导航控制器的导航栏? 像这样:self.navigationController.navigationBarHidden = YES

    【讨论】:

    • 对不起,如果我的问题不清楚。我想在屏幕顶部添加一个视图,甚至是 UINavigationcontroller。这可以通过将视图添加到窗口来实现,但窗口始终处于纵向模式,因此视图也是如此。
    • 谢谢!这对我帮助很大!
    【解决方案2】:

    您可以执行以下操作。 您只希望视图以横向模式存在。因此,您应该在

    中执行以下代码

    didRotateToInterfaceOrientation: 方法,当它旋转到纵向模式时隐藏视图,当它在横向模式旋转时显示它。

    希望这会有所帮助。

    【讨论】:

    • 对不起,如果我的问题不清楚。我不只想要横向 - 我想在屏幕顶部添加一个带有 UINavigationController 的视图,无论当前方向是什么。
    【解决方案3】:

    我的解决方案是将视图添加到 UIWindow 并根据当前方向旋转它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多