您的位置:首页 > 移动开发 > Swift

Swift - 图片循环轮播组件的实现(附样例)

2016-09-26 09:28 239 查看
图片的无限循环轮播功能常常用在广告或者新闻展示上面,本文演示如何实现一个 iOS 系统下的图片轮播组件。

1,组件功能介绍
(1)每隔一段时间,轮播器就会自动滚动到下一张图片。如果当前是最后一张图片的话,则又滚动回第一张图片。这样无限循环下去。
(2)在组件下方位置有页控制器(小圆点),显示图片数量和当前的位置。
(3)除了自动轮播,我们还可以通过手动滑动组件来显示上一张,下一张图片。手动控制滚动的时候自动轮播功能停止,手动滚动结束后自动轮播功能又自动启用。
(4)点击图片我们可以获取到当前图片的位置索引,便于我们后续操作。这里直接将索引值显示出来。

2,组件效果图







3,组件实现原理
(1)我们在一个 scrollerView 中横向放置三个并排的 imageView。管多少张图片都是交替使用这三个 imageView 来显示。
(2)每次图片滚动结束的时候,计算当前显示的图片索引值。并重置三个 imageView 里的图片和位置。
(3)由于图片可以通过网络加载,这里我用了一个第三方的图片库:ImageHelper。可以自动帮我们实现图片缓存,避免重复加载。(关于 ImageHelper,可以参考我之前写过的这篇文章:Swift
- 图片处理库AFImageHelper详解)
(4)在图片未加载出来的时候,其位置上会先显示一张加载提示图片。这里我同样借助 ImageHelper,将一段提示文字转成 Image,用来作为加载完毕前的提示。





4,组件代码
整个组件只有一个 swift 文件(SliderGalleryController.swift),里面包含一个组件实现类:SliderGalleryController。以及相关协议:SliderGalleryControllerDelegate

5,使用样例

源码下载

hangge_1314.zip

原文出自:www.hangge.com 转载请保留原文链接:http://www.hangge.com/blog/cache/detail_1314.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  swift 轮播图 广告