水平滑动 NavigationBar?

Swipe NavigationBar horizontally?

我想创建一个如下所示的 UINavigationBar

我应该可以水平滑动图标。如果我向左滑动,我会得到这个:

我无法使用滑动手势识别器,因为滑动事件仅在滑动结束时触发。我需要捕获滑动手势的每个位置,以适当更改导航栏下方的内容。

我该怎么做?

您描述的是平移手势,而不是滑动手势。您可以添加代码,将平移的移动解释为滑动。

您可以通过自定义自己的导航栏来实现。比如继承uiview并在其中添加滑动手势来处理用户的滑动。你仍然需要使用 UINavigationController 但隐藏它的导航栏。将您的 "customized navigation bar" 留在原处。 您可以在 github.

中找到大量代码

隐藏默认导航栏。使用要在导航栏中添加的所有图标创建滚动视图。在 window 中添加该滚动视图。因此,您可以在应用程序的所有屏幕中显示相同的内容。