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

向下滚动时显示导航栏

  •  1
  • user2971617  · 技术社区  · 7 年前

    在ViewController的顶部,我有一个图像,我隐藏了导航栏,以获得更好的视觉效果。

    如果用户向上滚动,则会对图像进行缩放。到目前为止没有问题。

    如果用户向下滚动,我希望显示带有动画的导航栏(非常轻,达到导航栏的正确背景色)

    我查过了 here 这是一个很好的教程,介绍了Ios8的新功能。 事实上,我需要执行与 hidesBarsOnSwipe

    首先,要隐藏导航栏,我需要

    self.navigationController?.isNavigationBarHidden = true
    

    UIScrollViewDelegate .

    但我不知道该如何实施它。

    有什么提示吗?

    1 回复  |  直到 7 年前
        1
  •  2
  •   Adrien    7 年前

    您需要做的是实现UIScrollViewDelegate,更准确地说是 scrollViewDidScroll(_:) 方法( see documentation ). 每次滚动滚动视图时都会调用此方法。

    因此,在这种方法中,您必须检查用户是否向下滚动,然后通过调用 setNavigationBarHidden(_:animated:) 当前导航控制器的方法( see documentation )