【问题标题】:How to hide/show custom navigation bar?如何隐藏/显示自定义导航栏?
【发布时间】:2012-06-14 07:18:30
【问题描述】:

在我的 iOS 应用程序中,我使用自定义 NavigationItem(从 Nib 文件添加到根视图)。默认NavigationItem我可以使用

[self.navigationController setNavigationBarHidden:YES animated:YES];

隐藏它们,但我没有找到任何方法来隐藏我的自定义 NavigationItemremoveFromSuperview,有人可以给我一些指点吗?

提前致谢!

【问题讨论】:

  • 使用[self.navigationController setNavigationBarHidden:YES animated:YES];you 隐藏完整的导航栏,而不仅仅是导航项。据我了解,您将 navitem 添加为子视图。您必须保留对 uiview 的某种引用,例如。使用属性或标签,然后删除/隐藏 navItem。
  • 感谢您的及时响应,是的,我的根视图中有一个 NavigationBar,然后是我的自定义 NavigationItem。我只是尝试添加对 NavigationBar 的引用并将 setHidden:YES 发送给它,NavigationBar 确实消失了,但仍然占用了垂直空间。有什么我错过的吗?
  • 正如隐藏这个词所暗示的那样,它只是隐藏了导航栏 - > 不可见但仍然存在。我不确定是否可行,但您可以尝试使用其框架属性移动导航栏。
  • 哦,是的,我可以将其他视图向上移动以填充空间。非常感谢!!!

标签: ios uinavigationcontroller uinavigationbar uinavigationitem


【解决方案1】:

使用[self.navigationController setNavigationBarHidden:YES animated:YES]; 可以隐藏整个导航栏,而不仅仅是navItem。据我了解,您将navitem 添加为子视图。您必须保留对UIVview 的某种引用,例如。带有属性或标签,然后删除/隐藏navItem

由于您只是隐藏了导航栏,因此它仍然存在。因此,您可以使用它们的 frame 属性移动视图。

所以我猜你移动内容视图并完全跳过隐藏/删除就足够了。

【讨论】:

    【解决方案2】:

    您应该为您的导航项创建出口,并且您可以通过自己编写代码来设置动画/隐藏

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多