82 lines
3.9 KiB
Markdown
82 lines
3.9 KiB
Markdown
## GKCycleScrollView
|
||
|
||
[](https://travis-ci.org/QuintGao/GKCycleScrollView)
|
||
[](https://cocoapods.org/pods/GKCycleScrollView)
|
||
[](https://cocoadocs.org/docsets/GKCycleScrollView/)
|
||
[](https://www.apache.org/licenses/LICENSE-2.0.html)
|
||
[](#)
|
||
[](#)
|
||
|
||
iOS轻量级图片、文字轮播器,支持自定义
|
||
===========
|
||
GKCycleScrollView是一款基于UIScrollView封装的轮播器,参考了[NewPagedFlowView](https://github.com/PageGuo/NewPagedFlowView)的实现方法,功能更加强大,使用更加便捷
|
||
|
||
## 特性
|
||
- [x] 无第三方侵入,轻量级组件
|
||
- [x] 支持自动轮播,无限轮播
|
||
- [x] 支持cell缩放,设置上下左右间距
|
||
- [x] 支持自定义当前cell的显示尺寸
|
||
- [x] 支持自定义cell,自定义pageControl
|
||
- [x] 支持cell透明度渐变
|
||
- [x] 支持Masonry、SDAutolayout等第三方自动布局库
|
||
- [x] 支持任何图片加载库,如(SDWebImage、YYWebImage)
|
||
|
||
## 使用方法
|
||
### 1、创建GKCycleScrollView并设置数据源
|
||
```
|
||
GKCycleScrollView *cycleScrollView = [[GKCycleScrollView alloc] initWithFrame:CGRectMake(0, GK_STATUSBAR_NAVBAR_HEIGHT, kScreenW, 130)];
|
||
cycleScrollView.dataSource = self;
|
||
[self.view addSubview:cycleScrollView];
|
||
```
|
||
### 2、实现数据源方法
|
||
```
|
||
#pragma mark - GKCycleScrollViewDataSource
|
||
- (NSInteger)numberOfCellsInCycleScrollView:(GKCycleScrollView *)cycleScrollView {
|
||
return self.dataArr.count;
|
||
}
|
||
|
||
- (GKCycleScrollViewCell *)cycleScrollView:(GKCycleScrollView *)cycleScrollView cellForViewAtIndex:(NSInteger)index {
|
||
GKCycleScrollViewCell *cell = [cycleScrollView dequeueReusableCell];
|
||
if (!cell) {
|
||
cell = [GKCycleScrollViewCell new];
|
||
}
|
||
[cell.imageView sd_setImageWithURL:[NSURL URLWithString:dict[@"img_url"]]];
|
||
cell.imageView.contentMode = UIViewContentModeScaleAspectFill;
|
||
|
||
return cell;
|
||
}
|
||
```
|
||
### 3、调用reloadData方法,刷新数据源
|
||
```
|
||
[self.cycleScrollView reloadData]
|
||
```
|
||
|
||
## 效果图
|
||
|
||
| 说明 | 效果图 |
|
||
|-------|-------|
|
||
| **横向轮播** |  |
|
||
| **纵向轮播** |  |
|
||
| **卡片效果** |  |
|
||
| **仿QQ聊天** | |
|
||
|
||
## 说明
|
||
[GKCycleScrollView - 一个轻量级的自定义轮播图组件](https://www.jianshu.com/p/950ca713e6a9)
|
||
|
||
## 版本更新
|
||
|
||
* 2024.03.05 1.2.3 修复布局改变时显示异常的问题 #31
|
||
* 2024.01.03 1.2.2 修复调用[NSNull null]可能崩溃的问题 #30
|
||
* 2022.07.24 1.2.1 修复bug #25 #26
|
||
* 2022.07.06 1.2.0 1、修复bug #22
|
||
2、修复自动滚动时滑动跳页的问题
|
||
* 2021.06.01 1.1.0 修复Masonry布局时可能出现的不显示问题,优化加载逻辑
|
||
* 2021.02.24 1.0.6 优化代码,防止crash,增加滑动百分比代理
|
||
* 2021.02.22 1.0.5 修复xib加载时可能导致的布局错乱问题
|
||
* 2021.01.27 1.0.3 修复某些情况下cell不能滑动的bug
|
||
* 2020.12.07 1.0.1 修复cell子视图点击处理bug
|
||
* 2020.11.30 1.0.0 修复cell上添加其他视图不能点击的bug
|
||
* 2020.01.03 0.0.5 修复手动滑动不流畅问题,修复反向滑动停止后可能错乱问题
|
||
* 2019.11.22 0.0.4 修复自动轮播跳动问题及设置defaultSelectIndex后滚动错误问题
|
||
* 2019.10.11 添加自定义pageControl
|