代码之家  ›  专栏  ›  技术社区  ›  Tometoyou

如何在滚动条上隐藏导航栏,屏幕顶部除外

  •  0
  • Tometoyou  · 技术社区  · 6 年前

    我有一个 UIViewController 包含 UICollectionView 固定到视图的所有边缘。此视图控制器位于 UINavigationController .

    我想在“收藏”视图中向下滚动时逐渐隐藏导航栏。在我滚动导航条高度的距离时,导航条应该完全隐藏。如果我向后滚动,它会逐渐显示导航栏。

    我试过github上的所有开源导航栏,但没有一个能在iOS 12上正常工作。

    我怎样才能做到这一点?

    1 回复  |  直到 6 年前
        1
  •  0
  •   trndjc    6 年前

    UICollectionView UIScrollView 因此你可以访问 scrollViewDidScroll 委托方法。你的 UIViewController 也由其导航控制器拥有,因此您可以在视图控制器中创建一个实例属性,如 navigationDelegate: UINavigationController? ,它将作为一个代表。在导航控制器中,将该属性设置为 self 通过滚动代理操作导航栏。对于这种标准和基本的东西,绝对不需要第三方脚本。