NewsChannel(新闻频道栏)

Ready

新闻频道栏(网易新闻,新浪新闻,搜狐新闻,今日头条,聚划算,腾讯视频,优酷等类似的频道栏)

支持小红点标识 && 懒加载 && 缓存 && 排序 && 增删等。

一言不合就上效果图


Function Description

  1. 单个频道小红点标识:JhtNewsChannelItemModel中isShowRedPoint为BOOL值,在生成频道栏数据Model时可以一起添加频道是否有小红点标识,在后续调接口设置小红点状态依旧照前述可以实现;
  2. 懒加载:页面不会全部加载(非scrollview),点击或者滑动到哪里加载相应页面,同时可以自己设置缓存的个数;
  3. 频道位置固定:可以设置单个或多个频道位置不可变动;
  4. 频道栏排序:可以在排序界面进行自定义排序(会有颤抖提示);
  5. 频道增删:可以在排序界面进行自定义的增删频道,同时囊括排序功能;
  6. 说明:排序或者增删之后的相应页面均可在缓存中找到!

GO

How to use

1. 个性化设置

 a. JhtNewsChannelItemModel:顶部频道Model,你可以继承这个model,来扩展满足自己需求的model;
 b. JhtChannelBarAndSlideViewConnectParamModel:用于切换频道栏界面中相关设置参数model,包含尾部加号按钮 && 颜色和字号 && 间距和坐标 && 缓存页数 等相关设置;
 c. JhtChannelBarAndSlideViewConnectParamModel中的属性notMoveNameArray(不能移动频道的名字数组)设置频道位置固定, toAddItemArray(用于存储JhtNewsChannelItemModel)属性用于设置待添加的频道数组;
 d. JhtNewsChannelItemEditParamModel:用于排序界面中相关设置参数model,包含文字 && 文字颜色 && 距离 && 背景颜色 类等相关设置。

  • 注:JhtChannelBarAndSlideViewConnectParamModel和JhtNewsChannelItemEditParamModel结构如下图

2. 建立滑频道条和可滑动的view:相关个性化设置均由传递的Model中参数实现

/** 创建ChannelBarAndSliderView和排序删除界面*  barAndSlideModel:用于设置sliderView和bar参数model(为了容错,含有部分属性默认值)*  itemEditModel:用于排序界面的参数设置(为了容错,含有部分属性默认值)*  channelArray:已经添加的频道数组 存储JhtNewsChannelItemModel (必要参数,并且是存储JhtNewsChannelItemModel的数组)*  baseViewController:所处于的VC*  sortFView:排序界面放入的父view*  titleArray:所有的名字数组*  delegate:代理*/
- (id)initSlideViewAndItemEditViewWithBarAndSlideModel:(JhtChannelBarAndSlideViewConnectParamModel *)barAndSlideModel withNewsChannelItemEditModel:(JhtNewsChannelItemEditParamModel *)itemEditModel withChanelArray:(NSMutableArray *)channelArray withBaseViewController:(id)baseViewController withSortFView:(UIView *)sortFView withTitleArray:(NSArray *)titleArray withDelegte:(id<JhtTotalSlideViewDelegate>)delegate;

3. JhtTotalSlideViewDelegate 方法

@protocol JhtTotalSlideViewDelegate <NSObject>
/** VC总数量 */
- (NSInteger)numberOfTabsInJhtTotalSlideView:(JhtTotalSlideView *)sender;
/** 当前index下的VC */
- (UIViewController *)JhtTotalSlideView:(JhtTotalSlideView *)sender controllerAt:(NSInteger)index;/** 点击VC的index */
- (void)JhtTotalSlideView:(JhtTotalSlideView *)sender didSelectedAt:(NSInteger)index;/** 排序之后的操作*  modelArr:model数组*  nameArray:名字数组*  selectedIndex:选中的index*/
- (void)JhtTotalSlideViewWithSortModelArr:(NSArray *)modelArr withNameArray:(NSArray *)nameArray withSelectIndex:(NSInteger)selectedIndex;

4. JhtChannelBarAndSlideViewConnect 方法

 a. 判断频道栏尾部按钮是否可以被点击

/** 判断频道栏尾部按钮是否可以被点击*  enable:yes可以被点击 */
- (void)judgeChannelBarTailBtnIsEnableClick:(BOOL)enable;

 b. 隐藏或者出现小红点

/** 隐藏或者出现小红点*  hidden:yes隐藏*  index:topBar 中频道栏的index*/
- (void)redPonitIsHidden:(BOOL)hidden withIndex:(NSInteger)index;

5.修改SDK切图资源

 如需替换SDK中的切图资源可以直接将JhtNewsChannelImages.bundle中的切图同名替换即可

  • 注:1. 对一些用户反馈的缓存疑惑统一解释一下,上面提到的缓存指的是,创建频道下的VC后且app未重启的情况下,进行频道编辑后,内部会优先使用之前创建的VC,假使不存在会重新创建新VC
      2. 假使你想做频道编辑后的持久化存储可以在以下方法中实现

      3. 最后,感谢大家长久以来的支持!

【iOS_GitHub】新闻频道栏(网易新闻,新浪新闻,搜狐新闻,今日头条,聚划算,腾讯视频,优酷等类的频道栏),支持小红点标识 懒加载 缓存 排序 增删等相关推荐

  1. python爬取新闻网站内容findall函数爬取_【Python】【爬虫】爬取网易、腾讯、新浪、搜狐新闻到本地...

    这个实验主要爬取新闻网站首页的新闻内容保存到本地,爬取内容有标题.时间.来源.评论数和正文. 工具:python 3.6 谷歌浏览器 爬取过程: 一.安装库:urllib.requests.Beaut ...

  2. 从子域名看百度,新浪,搜狐,QQ和网易

    从二级域名看百度,新浪,搜狐,QQ和网易 本来想写一篇关于百度产品的分析,写了一半发现题目太大,写不下去了.干脆自己八卦一下. 网易的子域名:108 个: QQ的子域名:102 个: 新浪子域名:86 ...

  3. 自媒体们的新战场:搜狐新闻客户端

    种种迹象表明,以微博草根大号.微信公众号.媒体人为代表的自媒体人群,即将迎接自己的第三个阵地:新闻客户端;与此同时,新闻客户端也有望成为"类微信APP"的一员,跻身移动互联网第三大 ...

  4. python实现刷博器(适用于新浪、搜狐)

    本文总结于智普教育: 做点小东西,有成就感,才会有动力学下去哈! 先上代码: 1: import webbrowser as web 2: import time 3: import os 4: co ...

  5. 搜狐自媒体成搜狐新闻客户端战略核心

    在移动互联网市场,四大门户都将移动新闻客户端最为战略高地之一,尤其是搜狐,已将新闻APP的发展视为移动战略核心.相比其他新闻APP,搜狐新闻客户端的最突出亮点则在于活络的搜狐自媒体战略. 纵观目前国内 ...

  6. 腾讯、网易、新浪新闻网站爬虫编写记录及评论格式分析

    0 前言 先说说看这篇博客你能知道什么:1 腾讯.网易.新浪不同新闻的地址格式以及评论内容的地址格式(返回数据为json的异步接口):2 一些比较通用的设计方法,对软件设计的菜鸟可能有帮助: 之前也说 ...

  7. 除网易、新浪、腾讯、TOM四大企业邮箱外还有哪些?

    除网易.新浪.腾讯.TOM四大企业邮箱外还有哪些? 网易.新浪.腾讯.TOM四大企业邮箱外还有哪些?接下来为大家分享企业邮箱大全,看看有哪些是你不知道的? 以下是国内企业用户使用比较多的企业邮箱大全. ...

  8. “搜狐新闻马拉松”热身 张朝阳带着一大波明星提前跑起来了

    提起中国互联网圈的不油腻中年男,搜狐董事局主席兼CEO张朝阳绝对能拿下一席.今日,又有网友晒出张朝阳在奥森跑步的照片,从曝光的照片来看,和张朝阳一起跑步的既有张宁江.田家达这样的运动健将,也有杨昊铭. ...

  9. python新闻爬虫教程_python简易爬虫教程--(一)批量获取搜狐新闻

    我们先从简单的抓取文本信息开始,来写我们的第一个爬虫程序,获取搜狐新闻的内容. 我们首先来介绍一下我们需要用到的库. 爬虫程序的步骤,一般可以分为三步: 1.获取网页源码(html源码): 2.从代码 ...

最新文章

  1. ADO与ADO.NET
  2. C++两个整数的总和是否为整数溢出的算法实现(附完整源码)
  3. Oracle中管理用户(创建用户,用户加锁,用户解锁,修改用户密码,授权登录权限,撤销登录权限,授权连接权限,conn命令,创建角色,并为角色赋权限,将角色赋给指定用户)
  4. LeetCode 1259. 不相交的握手(DP)
  5. java堆外内存溢出_JVM 案例 - 堆外内存导致的溢出错误
  6. 在Docker官网上浏览版本号
  7. Python 函数也是一种对象
  8. oracle池式连接超时,c# – Oracle Data Provider for .NET:连接请求超时
  9. cmpp具体java实例_cmpp3.0_JAVA_实现 - 源码下载|Windows编程|源代码 - 源码中国
  10. Talloc内存池介绍
  11. HBase二级索引实现方案
  12. android11屏蔽导航栏
  13. Excel自动求和-乘法
  14. 【三维CAD设计经验分享】CrownCAD设计:旋转和扫描
  15. Postman Collection Format v1 is no longer supported and can not be imported directly. You may conver
  16. 如何把视频嵌入PPT合为一个文件
  17. MySQL——MySQL备份
  18. A. Equalize Prices Again(水题) Codeforces Round #590 (Div. 3)
  19. iOS 审核总被拒?如何提升 iOS 审核通过率!
  20. java如何判断回文数

热门文章

  1. matlab程序语句,matlab程序if语句用法
  2. https多少钱?揭秘它的价格真相
  3. 看陈广老师c#参考视频总结(第八篇)
  4. 还有不到两个月就初级会计考试了,不知道该怎么高效复习?0323
  5. ajax请求302重定向不跳转,AJAX不是处理302重定向(AJAX not handling 302 redirect)
  6. VLC花屏问题解决思路
  7. Qt5.15.2+VLC3.0.14学习笔记(六)Qt Player测试(官方示例 vlc-qt+mingw_64版)
  8. 脱氧核糖核酸(DNA)由两条互补的碱基链以双螺旋的方式结合而成
  9. Cookie和Session的区别(面试必备)
  10. bazel 学习笔记