当用户向下滚动时,我需要隐藏导航栏。目前,我正在调用setNavigationBarHidden: YES animated:YES
滚动,但这个解决方案并不理想,因为它会使主视图在调用动画时立即跳转。
Instagram 应用程序有一个更好的解决方案——导航栏锁定在主视图的顶部,并随着用户滚动而向上滚动。向下滚动几个像素,只有部分导航栏被隐藏。
关于如何实现这一点的任何想法?
当用户向下滚动时,我需要隐藏导航栏。目前,我正在调用setNavigationBarHidden: YES animated:YES
滚动,但这个解决方案并不理想,因为它会使主视图在调用动画时立即跳转。
Instagram 应用程序有一个更好的解决方案——导航栏锁定在主视图的顶部,并随着用户滚动而向上滚动。向下滚动几个像素,只有部分导航栏被隐藏。
关于如何实现这一点的任何想法?
查看https://github.com/andreamazz/AMScrollingNavbar。它非常易于使用,只需AMScrollingNavbar
在您的 viewController 中进行子类化
我已经完全找到了 Instagram 的做法 -在这里查看我的答案
没有平移手势识别器,隐藏设置栏,没有类似的东西,只是scrollViewDidScroll
表格视图的委托方法内部的一些很酷的工程
我认为他们没有使用导航栏。我认为这是 UITableView 的自定义标题视图,或者至少我会这样做,因为您可以将任何 UIView 放在那里。
您可以使用 UITableView 委托来设置这些标题。
导航栏不提供此功能。最好的方法是使用自定义视图(您的自定义导航栏)作为主视图的子视图,然后自己制作动画,使用 [UIView animateWithDuration ....] 之类的功能和使用 CATransform3DTranslate 之类的翻译功能