如何在 swift 中使用自定义导航栏制作三个分页视图

Posted

技术标签:

【中文标题】如何在 swift 中使用自定义导航栏制作三个分页视图【英文标题】:how can I make three paging views with a custom nav bar in swift 【发布时间】:2016-10-25 13:55:43 【问题描述】:

Final Design

我正在尝试将三个分页视图合二为一,并带有一个带有图标的自定义导航栏,这些图标会在其视图被调出时进行缩放。制作三个视图(如 snapchat)的最佳方式是什么,以及如何将它们与导航栏中的图标关联起来?我知道我将在那些带有补充单元格的视图中使用集合视图。

我尝试创建一个集合视图,其中 3 个单元格水平移动以创建视图,但我无法关联导航栏中的图标。

顺便问一下,能不能把导航栏做成GIF一样的三角形?

【问题讨论】:

【参考方案1】:

这是一个非常广泛的问题,但会尝试为您提供有关您所要求的每个功能的指示。

要处理类似于带有相关图标的 snapchat 的分页视图,请查看SLPagingView。这是您入门的好地方。您需要为缩放添加更多代码,但应该是微不足道的。

为了创建类似于您想要的导航栏,您需要继承UINavigationBar 并覆盖sizeThatFits 并设置backgroundImage。见herehere和here。

【讨论】:

我正在尝试使用 SLPagingView 但是当我使用集合视图作为控制器时,我得到Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'UICollectionView must be initialized with a non-nil layout parameter'

以上是关于如何在 swift 中使用自定义导航栏制作三个分页视图的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Swift Xcode 中创建自定义导航栏?

如何快速在自定义导航栏顶部制作一半的 ImageView

如何在导航栏 Swift 右侧添加自定义视图?

自定义底部栏过渡到 Swift 中的另一个视图?

如何制作像 Bumble 一样的导航栏

Ios Swift:在自定义标签栏中显示导航栏