如何使用Swift 4(滑动选项卡/段)在iOS中实现类似于Android的选项卡布局

大家好,我所有的IOS开发人员。 在这里,我提供了一个很棒的教程,介绍如何创建滑动选项卡或细分,例如IOS中的Android选项卡布局。 为了实现这种功能,有很多种方法,我已经通过两种方法实现了这些功能,即使用UIPageViewController和CollectionView显示内容的页面/视图。 为了显示选项卡,我使用了CollectionView。 让我们详细介绍一下…

标签视图:

首先,在CollectionView的帮助下,在普通的UIView()对象上创建选项卡视图。 在这里,我们的类是“ MenuTabsView”,它是UIView的子类,用于确认集合视图委托和flowlayout委托。

接下来,添加一个帮助程序变量或标志属性,用于选项卡分发。 如果是这样,则所有选项卡都将以相等的大小(相对于屏幕)填充。 如果为false,则根据标签的标题大小放置标签。

接下来,集合视图需要数据源来显示标题或标题。 因此,我们为此提供一个数组属性。

接下来,我们需要一个协议来在此选项卡视图和包含该选项卡视图的“容器”视图之间进行通讯,以用于滑动/过渡视图。 在协议定义之后,还为集合视图单元标识符定义一个变量。 稍后为该类定义初始化程序。

如果您在上面的代码中看到,在两个初始化程序中都有一个函数被调用。 我们使用了customIntislizer()方法,注册了集合视图单元格,在视图上添加了该集合视图,并给出了约束。

我们可以通过多种方式对视图或子视图施加约束,其中之一是视觉格式语言。 因此,为了传递这些约束,我定义了一个辅助方法,该方法减轻了在项目中传递视觉格式约束的痛苦。 就是这样…

customIntializer函数:定义为私有,因为它不需要类的外部。

接下来,记住我们为tabs集合视图定义了数据源的属性。 在此帮助下,我们显示了标签。 设置dataArray后,我们将重新加载collection-view。

集合视图委托方法:

以下是集合视图委托,数据源和集合视图委托流程布局方法。 请看以下图片,这些图片仅供参考。

现在,记住我们注册了一个名为BasicCell的单元 上面的收藏视图。 让我们现在来看那个课。

单元格具有一个Label(用于显示标题)和一个指示器视图(如一个下划线)以显示所选标签。 我们可以在背景和标签属性的帮助下根据需要配置更多内容。 这两个组件均已定义,并已受到约束。 在选择单元格时,我们通过覆盖单元格上的“ isSelected”属性来配置选定的单元格。

标签视图已完成。

我们在视图控制器中使用此选项卡视图。 因此,上一个类,然后在视图控制器场景的顶部拍摄一个高度约为50的子视图。 x和y坐标为0,0。 width等于视图控制器的宽度。

接下来,定义以下属性并配置menuBarView。 稍后将代表分配给self,以获取所需的代表,然后配置屏幕的初始显示。 我们在这里使用UIPageViewController作为内容视图容器,它将作为子视图控制器添加到我们的viewcontroller视图中。

接下来,从对象库中获取一个UIPageViewController和一个ViewController,并为其分配以下类。

接下来,定义以下帮助程序方法,我们也在viewDidLoad中使用了这些方法。

接下来,在项目中的任何位置,定义以下协议,我们在menuBarView类中定义了以下协议。 如果您喜欢在menuBarView类上方定义此对象。

接下来,定义所有委托方法。 请经历以下委托方法,这些方法是不言自明的。

就这样。 现在运行您的项目,您可以看到上面的输出,像Android这样的功能,如选项卡布局。 要获取源代码,请访问此处。

感谢您阅读我的教程。 请提出您的意见,以帮助我提高自己的编程和教程能力。 非常感谢…

Interesting Posts