culturetown b49f3ca4ab jidu commit 11 місяців тому
..
Lib b49f3ca4ab jidu commit 11 місяців тому
LICENSE b49f3ca4ab jidu commit 11 місяців тому
README.md b49f3ca4ab jidu commit 11 місяців тому

README.md

iOS图片轮播 LLCycleScrollView

License Platform

Issues

如果使用过程中,有什么问题欢迎issues。

Swift

Swift3 请使用1.3.x版本 Swift4 请使用1.4.x版本 Swift4.2 请使用1.5.1+版本 Swift5 请使用1.6.0版本

Support

  • 支持纯图片
  • 支持文本图片结合
  • 支持横向滚动
  • 支持纵向滚动
  • 支持手势滑动
  • 支持点击回调
  • 支持图片数据的延时加载
  • 支持没有数据,占位图占位(仅设置CoverImage(有默认图)即可)
  • 支持本地图片显示及与网络图的混合显示
  • 支持系统UIPageControl位置设置
  • 支持StoryBoard
  • 支持纯文本
  • 支持CustomPageControl位置设置
  • 支持协议
  • 支持左右箭头点击风格

Update

版本信息 更新描述
1.6.0 * 依赖最新的库版本,Target iOS 10
1.5.4 * 修复异步数据崩溃问题
1.5.3 * 修复依赖库版本问题
1.5.2 * 修复PageControl重置问题
* 修复Xib初始化不自动轮播
1.5.1 * 迁移Swift 4.2
1.5.0 * 支持左右方向箭头点击风格
* 优化部分代码结构
* 优化定时器引用问题
1.4.9 * 支持图片发生切换回调协议
* 修复图片更新为一张图时滚动行为
1.4.8 * fixed #37 'delegate' is inaccessible due to 'internal' protection level
1.4.7 * 修复反向滑动问题
* 修改纯文本下高度设置问题;
1.4.6 * 新增协议回调方法
* 新增开启/关闭URL特殊字符处理
* 优化数量为0的计算控制
1.4.5 * 新增协议回调方法
* 新增开启/关闭URL特殊字符处理
* 优化数量为0的计算控制
1.4.4 * 修复:数据为空的时候的不能设置图片的显示mode
* 自定义PageControl图标
* 修复单张图滚动问题
* 修复infiniteLoop为false后的还可以滚动的逻辑问题
1.4.3 * 优化没有数据时候,标题背景的显示问题
1.4.2 * 增加容错率->titles不使用默认,赋值nil出错问题
1.4.1 * UPDATE
1.4.0 * Swift4
1.3.6 * 区分使用
1.3.5 * 指定支持Swift4的依赖库版本
1.3.4 * 增加自定义PageControl的位置控制pageControlPosition
1.3.3 * 修复titles数据异步加载问题
1.3.2 * 由于IBDesignable问题,临时取消,后续会检查更新
1.3.1 * 修复图placeHolder显示问题
1.3.0 * 修复StoryBoard在部分设备显示问题
1.2.9 * 增加支持文本Leading约束属性titleLeading
* PageControl的Bottom约束属性pageControlBottom
1.2.8 * 支持纯文本部分属性修改,没有开放Label
1.2.7 * 支持纯文本
1.2.6 * 修改自定义PageControl反向滚动时候,pageControl的方向控制问题
1.2.5 * 修复自定义PageControl快速滚动问题,修复系统UIPageControl位置left&right对换设置问题
1.2.4 * 支持系统UIPageControl位置设置,其属性pageControlPosition
* 公开pageControl及customPageControl两个控件,方便控制及自定义
1.2.3 * 支持本地图片显示及与网络图的混合显示
* 增加图片contentMode的控制
1.2.2 * 标题显示两行文字
1.2.1 * 支持不同类型的PageControl
* 支持修改PageControl颜色,当前显示颜色等(文件注释)
1.1.1 * 支持Storyboard

CocoaPods

  • 支持CocoaPods

    pod 'LLCycleScrollView' 
    

    Usage

    let bannerDemo = LLCycleScrollView.llCycleScrollViewWithFrame(CGRect.init(x: 0, y: bannerDemo.ll_y + 205, width: w, height: 200))
    // 是否自动滚动
    bannerDemo.autoScroll = true
    
    // 是否无限循环,此属性修改了就不存在轮播的意义了 😄
    bannerDemo.infiniteLoop = true
    
    // 滚动间隔时间(默认为2秒)
    bannerDemo.autoScrollTimeInterval = 3.0
    
    // 等待数据状态显示的占位图
    bannerDemo.placeHolderImage = #UIImage
    
    // 如果没有数据的时候,使用的封面图
    bannerDemo.coverImage = #UIImage
    
    // 设置图片显示方式=UIImageView的ContentMode
    bannerDemo.imageViewContentMode = .scaleToFill
    
    // 设置滚动方向( vertical || horizontal )
    bannerDemo.scrollDirection = .vertical
    
    // 设置当前PageControl的样式 (.none, .system, .fill, .pill, .snake)
    bannerDemo.customPageControlStyle = .snake
    
    // 非.system的状态下,设置PageControl的tintColor
    bannerDemo.customPageControlInActiveTintColor = UIColor.red
    
    // 设置.system系统的UIPageControl当前显示的颜色
    bannerDemo.pageControlCurrentPageColor = UIColor.white
    
    // 非.system的状态下,设置PageControl的间距(默认为8.0)
    bannerDemo.customPageControlIndicatorPadding = 8.0
    
    // 设置PageControl的位置 (.left, .right 默认为.center)
    bannerDemo.pageControlPosition = .center
    
    // 背景色
    bannerDemo.collectionViewBackgroundColor
    
    // 添加到view
    self.addSubview(bannerDemo1)
    
    // 模拟网络图片获取
    DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + .seconds(2)) {
    bannerDemo.imagePaths = imagesURLStrings
    }
    

Example

示例代码见ViewController.swift

Future

  • 优化代码
  • 未来将计划创建新版本,从而使用上更简单明了

Author

LvJianfeng, coderjianfeng@foxmail.com