推荐开源库:HYBLoopScrollView

简介:

推荐开源库:HYBLoopScrollView


App中不可或缺的广告轮播图组件,现在开源出来了,希望对大家有帮助!

image

有什么特性


用一个第三方库,首先需要了解这个三方库有什么特性,为什么值得使用它!

特性1:无缝无限循环滚动

我相信每一个想要自己写这个无限滚动显示广告图片的开发者,都会遇到这么个问题:滚动到最后一张后,再切换到第一张时怎么动画效果这么难看呢?根本就是到末尾后就直接切换到第一张,因此效果很不友好。

HYBLoopScrollView就很好地解决了这个问题。这个库使用了UICollectionView的特性,很巧妙地实现了这个无限滚动的效果。

特性2:直接使用block版本API


原来我也想使用别人的开源库,但是使用起来很困难,一大堆的API,维护起来太麻烦。因此,才决定自己写一套库来解决这个麻烦。

这里提供了两个创建控件的方法:

+ (instancetype)loopScrollViewWithFrame:(CGRect)frame imageUrls:(NSArray *)imageUrls;

+ (instancetype)loopScrollViewWithFrame:(CGRect)frame
                              imageUrls:(NSArray *)imageUrls
                           timeInterval:(NSTimeInterval)timeInterval
                              didSelect:(HYBLoopScrollViewDidSelectItemBlock)didSelect
                              didScroll:(HYBLoopScrollViewDidScrollBlock)didScroll;

看到连同didSelect参数和didScroll参数了吗?前者就是点击某个广告图片时的回调block,而后者就是滚动到某个广告时的回调,是不是很简单?

另外,还封装了定时器的api,可方便地暂停或继续开启:

/**
 *  Pause the timer. Usually you need to pause the timer when the view disappear.
 */
- (void)pauseTimer;

/**
 *  Start the timer immediately. If you has pause the timer, you may need to start 
 *  the timer again when the view appear.
 */
- (void)startTimer;

特性3:支持cocoapods


说到第三方库,怎么能少了对cocoapods的支持呢?

当前维护的版本已经到了version 2.1,可通过下面的方法添加到Podfile中:

pod "HYBLoopScrollView", '~> 2.1'

致谢


该开源库至今已经得到不少朋友的邮件反馈,才有了今天的版本。感谢所有支持我的朋友!!!

源代码


如果不想使用cocoapods来安装,可以到github下载源代码,直接将HYBLoopScrollView文件夹拖到工程,不需要做任何配置!!!

下载地址:请到标哥的技术博客打开链接

目录
相关文章
开源项目推荐:3D重建开源库Colmap/OpenMVG/OpenMVS/Fade2D/2.5D
开源项目推荐:3D重建开源库Colmap/OpenMVG/OpenMVS/Fade2D/2.5D
524 0
|
3月前
jrtplib开源库系列之二:jrtplib库example1分析说明
这个官方example还是比较简单的,主要是测试发一个数据包,然后自己接收发出的包,注意,这里需要注意将目的地址的端口和基端口(portbase)设置为相同,同时需要将这个参数设置为真sessparams.SetAcceptOwnPackets(true);
35 0
|
5月前
|
机器学习/深度学习 算法框架/工具 Android开发
|
存储 缓存 数据库
【整理篇】Flutter 常用第三方库、插件、学习资料等
【整理篇】Flutter 常用第三方库、插件、学习资料等
926 0
|
并行计算 API C语言
C&C++图形图像处理开源库
Google三维APIO3D O3D 是一个开源的 WebAPI 用来在浏览器上创建界面丰富的交互式的 3D 应用程序。这是一种基于网页的可控3D标准。此格式期望真正的基于浏览器,独立于操作系统之外,并且支持主流的3D显卡,这样就可以在网页中实现效果逼真的3D动画。
3355 0
|
数据可视化 Unix Linux
开源项目推荐:OpenGL之开源库OpenSceneGraph
开源项目推荐:OpenGL之开源库OpenSceneGraph
597 0
|
算法 测试技术 数据库
C/C++框架和第三方库
值得学习的C语言开源项目 - 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。
1817 0
|
移动开发 JavaScript 前端开发
Protobuf在微信小游戏开发中的使用技巧
微信小游戏发布后,许多 HTML5 游戏开发者希望把现有的 HTML5 游戏迁移到微信小游戏中,但由于一些技术上的问题导致进程卡壳。通过梳理Egret社区、白鹭小游戏开发技术讨论群等途径的反馈后发现,有不少开发者遇到的难题在于「如何在微信小游戏中使用Protobuf 」。
2570 0
|
安全 Java C++
C++开源库,欢迎补充。
C++在“商业应用”方面,曾经是天下第一的开发语言,但这一桂冠已经被java抢走多年。因为当今商业应用程序类型,已经从桌面应用迅速转移成Web应 用。当Java横行天下之后,MS又突然发力,搞出C#语言,有大片的曾经的C++程序员,以为C++要就此沉沦,未料,这三年来,C++的生命力突然被 严重地增强了。
1267 0