欢迎光临
我们一直在努力

Swift-collectionView实现的无限循环轮播图

建站超值云服务器,限时71元/月

Swift-collectionView实现的无限循环轮播图

项目介绍:

LPBannerView

使用collectionView实现的无限循环滚动轮播图,支持横向竖向滚动及添加图片文字介绍等多种功能,短小精悍、集成方便~

实现功能

  • 实现本地图片或网络图片的展示,加载失败则显示默认图

  • 实现图片下方文字介绍,可自定义样式

  • 实现横向和竖向滚动

  • 实现自定义轮播时间间隔

  • 实现数据异步请求延时加载后刷新视图

  • 实现pageControl位置设置

  • 实现点击回调代理和闭包

  • 支持手码和storyboard方式初始化控件

  • 支持pod导入


附github源码地址

您的star,是对我最大的鼓励与支持~

使用

初始化

let bannerView = LPBannerView(frame: frame)
bannerView.delegate = self
bannerView.placeholderImage = UIImage(named: "xxx")
view.addSubview(bannerView)

bannerView.clickItemClosure = { (index) -> Void in
    print("闭包回调---\(index)")
}

// 异步网络请求得到相关数据之后赋值刷新
bannerView.imagePaths = imageArr // 请求到的图片url字符串或者本地图片名称
bannerView.titlesArr = titleArr // 图片下方文字介绍

轮播图点击回调方法

func cycleScrollView(_ scrollView: LPBannerView, didSelectItemAtIndex index: Int) {
    print("方法回调--->>>\(index)")
}

外部调用属性

/// 代理
public weak var delegate
/// 闭包
public var clickItemClosure

// MARK: 图片、标题
/// 图片下方对应的文字标题数组
public var titlesArr: [String]
/// 图片路径数组
public var imagePaths: [String]
/// 网络图片未加载出来时的默认图
public var placeholderImage

// MARK: 滚动
/// 是否无限循环,默认true
public var isInfiniteLoop
/// 是否自动滚动,默认true
public var isAutoScroll
/// 自动滚动间隔时间,默认2秒
public var autoScrollTimeInterval
/// 图片滚动方向,默认横向滚动
public var scrollDirection

// MARK: 分页控件
/// 分页控件位置,默认居中
public var pageContolAliment
/// 分页控件距离轮播图的底部间距,默认10
public var pageControlBottomDistance
/// 分页控件距离轮播图的左边或右边的间距(居左或居右显示时),默认10
public var pageControlSideDistance
/// 当前分页控件小圆标颜色,默认白色
public var currentPageDotColor
/// 其他分页控件小圆标颜色,默认灰色
public var pageDotColor
/// 是否在只有一张图时隐藏分页控件,默认隐藏
public var isHiddenWhenSinglePage

// MARK: 标题文字
/// 轮播文字label字体颜色,默认白色
public var titleLabelTextColor
/// 轮播文字label字体大小,默认15
public var titleLabelTextFont
/// 轮播文字label背景颜色,默认黑色半透明
public var titleLabelBackgroundColor
/// 轮播文字label高度,默认35
public var titleLabelHeight
/// 轮播文字label对齐方式,默认居左
public var titleLabelTextAlignment

安装

CocoaPods

Podfile文件:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!

target '<Your Target Name>' do
    pod 'LPBannerView'
end

然后执行:

$ pod install

若提示查找不到该库,那么请先执行:

$ pod setup

手动集成

把LPBannerView/Source文件夹(及其下的两个swift文件)手动拖入到项目中即可

该控件目前使用的是Kingfisher进行的图片缓存处理,如果使用CocoaPods集成则会自动依赖该库,如果您目前使用的是SDWebImage或者其他三方库,建议手动导入集成,然后替换掉Kingfisher

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » Swift-collectionView实现的无限循环轮播图
分享到: 更多 (0)