写了一个模仿投资快报、网易新闻、今日头条等APP的自定义栏目。包括排序栏目、删除栏目、添加更多栏目和选中某一个栏目观看。效果非常流畅,欢迎各位大佬下载。
github网址:https://github.com/yellowwing/YWCustomView
先上效果图:
![](https://img.haomeiwen.com/i8929393/3e4f6995180b4b22.jpeg)
这里可以任意挑选想看的栏目、可以点击栏目,也可以左滑和右滑
![](https://img.haomeiwen.com/i8929393/eee6b0bcba1a96b3.jpeg)
这里可以切换栏目、删除栏目、添加更多栏目。
![](https://img.haomeiwen.com/i8929393/e2bfa271e1e4904c.jpeg)
这里可以手势移动重新排序每一个栏目,而首页和广州栏目可以设置为不能编辑状态。
用法:
![](https://img.haomeiwen.com/i8929393/3c576e64685843ff.jpeg)
先把栏目定制和栏目cell拉入你的项目,然后Model文件夹是你根据你后台返回的字段来设计的数据模型,然后具体业务逻辑写在你的首页控制器和子控制器
子控制器是可能多种类型的,这个要你们设计了,例如有些是专门看文章的控制器、有些是专门看视频的控制器。
现在主要说在你的首页控制器里应该怎么引用我给你的栏目定制和栏目cell的文件夹里面的文件
![](https://img.haomeiwen.com/i8929393/74c646e4c279d8ee.jpg)
这个loadMenuData本来应该是加载后台接口返回栏目数据的,我这里就弄一些假数据来做这个demo。要注意的是这个type字段是后台返回的字段名称、当type是0就不可以编辑、当type是1就可以编辑的。然后我加载出来的数据模型添加到两个数组,第一个是出现在首页的、第二个是当编辑时候添加更多栏目的时候才会出现。
![](https://img.haomeiwen.com/i8929393/f3f5585a347dc890.png)
首页是用到了pageViewController这个控件,然后在pageViewController里面添加多个子控制器
然后我们在首页控制器上写上自定义栏目view的4个代理方法
![](https://img.haomeiwen.com/i8929393/66060bca26468301.png)
![](https://img.haomeiwen.com/i8929393/585ef30967f61fcb.png)
![](https://img.haomeiwen.com/i8929393/6511b12cf5110cf1.png)
![](https://img.haomeiwen.com/i8929393/36a8a65de73d01d4.png)
这4个代码图分别实现了添加栏目、重新排序栏目、删除栏目、跳去该跳去的栏目
![](https://img.haomeiwen.com/i8929393/bd2ce206ec8a7efa.png)
这个是数据模型menuStatus,cltId、name、type是我后台返回我的,具体属性名称要看你的后台字段来起名字
就说到这里,具体看demo:https://github.com/yellowwing/YWCustomView
网友评论