在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
分页菜单(分段菜单)在许多 App 上都会用到。比如大多数新闻 App,如网易新闻、今日头条等,顶部都有个导航菜单。这个导航菜单是一组标签的集合,每个标签表示一个新闻类别,我们点击这个标签后下面就会切换到相应的分页面。同时左右滑动分页面,上方的标签也会跟着移动。
本文介绍一个优秀的第三方分页视图控件:PagingMenuController,不仅可以自定义菜单,而且可以自由地修改样式。
一、安装配置(1)从 GitHub 上下载最新的代码:https://github.com/kitasuke/PagingMenuController
(2)将下载下来的源码包中 PagingMenuController.xcodeproj 拖拽至你的工程中。
(3)工程 -> General -> Embedded Binaries 项,把 PagingMenuController.framework 添加进来。
(4)最后,在需要使用 PagingMenuController 的地方 import 进来就可以了。
二、纯代码使用样例1,效果图(1)主视图顶部分页菜单中有两个菜单标签,分别对应两个子视图。
(2)点击菜单标签,下方便会切换显示相应的子视图。
(3)也可以直接左右滑动子视图进行切换,上方的菜单标签状态也会同步更新。
2,样例代码(1)子视图控制器1(ViewController1.swift)
(2)子视图控制器2(ViewController2.swift)
(3)主视图控制器(ViewController.swift)
三、Storyboard 使用样例1,效果图具体功能同上面的是一样的。
2,Storyboard 相关操作(1)在主视图中添加一个 Container View,并设置好相关约束。(2)Container View 默认embed的是 UIViewController,我们将其改成 PagingMenuController。
3,样例代码(1)子视图控制器(ViewController1.swift、ViewController2.swift)
(2)主视图控制器(ViewController.swift) 高亮处表示与上面纯代码实现不相同的地方。
四、标签、页面切换响应有时我们需要监听页面切换事件进行一些操作,比如当切换到新的页面时可以去请求数据等。这个通过 PagingMenuController 的 onMove 回调就可以实现。每当菜单移动前后、页面切换前后、手指滑动页面前后,该方法都会被调用。
1,样例代码
2,运行效果(1)我们点击顶部菜单标签进行页面切换,可以看到控制台打印出如下信息:(2)而如果通过手指滑动切换页面,控制台打印出如下信息: 五、使用代码切换标签比如下面代码自动将分页菜单控制器切换到第 2 个页面。
六、自定义分页控制器样式PagingMenuControllerCustomizable 对象有如下几个属性可以对整个视图控制器进行自定义:
1,defaultPage: Int设置默认页面的索引,如果不指定则默认显示第一个视图页。
2,animationDuration: TimeInterval页面切换动画时间。
3,isScrollEnabled: Bool是否允许手指左右滑动进行页面切换,设置为 false 则只能点击菜单标签切换页面。
4,backgroundColor: UIColor设置页面背景色。
5,lazyLoadingPage: LazyLoadingPagelazy loading 的页面数量,这个是一个枚举,可选值如下:
6,menuControllerSet: MenuControllerSet这个不太清楚做什么用的,也是一个枚举可选值如下:
7,componentType: ComponentType专题导读
上一篇:[Swift]编程语言5.4:文档修订历史发布时间:2022-07-13下一篇:swift中关于open,public,fileprivate,private,internal,修饰的说明发布时间:2022-07-13热门推荐
热门话题
阅读排行榜
|
请发表评论