美文网首页
Swift轮播图的实现及原理

Swift轮播图的实现及原理

作者: loongod | 来源:发表于2015-12-03 17:46 被阅读466次

原理:

总共只用三个UIImageView,放在一个UIScrollView上。滑动后,更换前后的图片,并把ContentOffset设置成显示中间图片的数值,这样就可以无限左右滑动了。

  1. 首先赋值: 显示三个image,把数据源中的第一个Image赋值在中间的UIImageView上,两边依次找到应该赋值的image。
    // 得到上一张图片的下标
    private func getLastImageIndex(indexOfCurrentImage index: Int) -> Int{
        var tempIndex = index - 1
        if tempIndex == -1 {
            return self.imageArray.count - 1
        }else{
            return tempIndex
        }
    }
    
    // 得到下一张图片的下标
    private func getNextImageIndex(indexOfCurrentImage index: Int) -> Int
    {
        var tempIndex = index + 1
        return tempIndex < self.imageArray.count ? tempIndex : 0
    }
  1. 更改数据: 滑动后,把数据源中应该显示的image赋值在中间的UIImageView上,然后更改两边的UIImageView上的数据,把scrollView的contentOffset的偏移量设为显示中间图片的偏移量(赋值后肉眼根本无法分辨,但是用户又可以左右滑动了,这就造成了无限循环滑动的假象)。
Circle.gif

描述:

swift版的无限循环轮播图,可自定义时间间隔,设置本地、远端图片或混设,目前配合Kingfisher一起使用(url图片赋值ImageView和缓存)。

功能:

  • 无限循环轮播

  • 图片点击闭包

  • 本地、远端图片混设

  • 支持codexibstoryboard调用

  • 支持旋转

  • 支持iPhoneiPad

运行展示图:

iPhone:

相关文章

  • Swift轮播图的实现及原理

    原理: 总共只用三个UIImageView,放在一个UIScrollView上。滑动后,更换前后的图片,并把Con...

  • swift轮播图的实现-UIScrollView

    目标 :UIScrollView+三UIImageView的轮播图实现 原理:利用UIScrollView实现轮播...

  • 初学Swift(一)实现循环轮播图

    刚刚开始学习Swift,尝试着写一下大家最常用的轮播图。这里说一下最简单的实现原理: 假设我们轮播图有3张,命名:...

  • Swift轮播图

    最近在学习swift,就用swift实现轮播图来练习一下 轮播图的创建有两种方式: 显然使用collectionV...

  • 轮播图

    轮播的实现原理是怎样的? 轮播图的实现原理有很多,这里主要介绍一种,假设我们要做一个有四张图片的轮播图,切换的效果...

  • swift 轮播图

    引言: swift 轮播图原理利用UICollectionView , cell0 , cell1 ,cell2 ...

  • 使用UICollectionView实现的swift轮播图FYS

    使用UICollectionView实现的swift轮播图FYSliderView 带有动画效果的pageCont...

  • 项目-轮播图

    整个轮播图分为三部分:轮播指标、轮播项目及轮播导航。用boostrap实现轮播图要比用js、jQuery方便的多,...

  • swift第三方控件

    iOS开发:Swift实现的轮播图、无限循环视图控件CYCircularScrollView CycleScrol...

  • swift 4.0 轮播图

    swift 轮播图 1.0 自定义轮播View CarouselMap

网友评论

      本文标题:Swift轮播图的实现及原理

      本文链接:https://www.haomeiwen.com/subject/xmrshttx.html