# IOS 智能下拉刷新框架 - SmartRefreshControl
[![License](https://img.shields.io/badge/License%20-Apache%202-337ab7.svg)](https://www.apache.org/licenses/LICENSE-2.0)
[![Cocoapods](https://img.shields.io/badge/Pod%20-%20SmartRefresh-4cae4c.svg)](https://www.cocoapods.org/)
[![Platform](https://img.shields.io/badge/Platform-IOS-f0ad4e.svg)](https://developer.apple.com/)
[![Author](https://img.shields.io/badge/Author-scwang90-11bbff.svg)](https://github.com/scwang90)
<!-- ## [English](art/gif/README_EN.md) | 中文 -->
SmartRefreshControl 是 [SmartRefreshLayout](https://github.com/scwang90/SmartRefreshLayout) 的IOS版,和Android版在 `理念` 和 `外观` 上面保留相同的设计,但是由于 Android 和 IOS 两个系统的差别,IOS版本在功能使用和特性上与安卓版有所差别。刷新控件使用 ObjectiveC 语言编写,演示 DemoApp 使用 Swift 语言编写。
目前 `SmartRefreshControl` 功能还不是很强大,也不太稳定,只是在界面层面实现了安卓版的功能。欢迎大家来体验与发现BUG,不推荐使用在正式项目中。
## 由来
大学毕业后我大部分时间从事安卓开发,在安卓版 `SmartRefresh` 大火之后,我开始转型 IOS 开发。到现在已经有三年的IOS开发经验,由于IOS上也还未有像 `SmartRefresh` 一样同一个开源库多种外观样式的刷新库,也想巩固自己所学的 IOS技能,我决定在闲暇之余把安卓 `SmartRefresh` 复刻到IOS平台来。经过一年多的努力总算初步完成了。
<!-- ## 特点功能:
- 支持多点触摸
- 支持淘宝二楼和二级刷新
- 支持嵌套多层的视图结构 Layout (LinearLayout,FrameLayout...)
- 支持所有的 View(AbsListView、RecyclerView、WebView....View)
- 支持自定义并且已经集成了很多炫酷的 Header 和 Footer.
- 支持和 ListView 的无缝同步滚动 和 CoordinatorLayout 的嵌套滚动 .
- 支持自动刷新、自动上拉加载(自动检测列表惯性滚动到底部,而不用手动上拉).
- 支持自定义回弹动画的插值器,实现各种炫酷的动画效果.
- 支持设置主题来适配任何场景的 App,不会出现炫酷但很尴尬的情况.
- 支持设多种滑动方式:平移、拉伸、背后固定、顶层固定、全屏
- 支持所有可滚动视图的越界回弹
- 支持 Header 和 Footer 交换混用
- 支持 AndroidX
- 支持[横向刷新](https://github.com/scwang90/SmartRefreshHorizontal) -->
<!-- - [属性文档](https://github.com/scwang90/SmartRefreshLayout/blob/master/art/md_property.md)
- [常见问题](https://github.com/scwang90/SmartRefreshLayout/blob/master/art/md_faq.md)
- [智能之处](https://github.com/scwang90/SmartRefreshLayout/blob/master/art/md_smart.md)
- [更新日志](https://github.com/scwang90/SmartRefreshLayout/blob/master/art/md_update.md)
- [博客文章](https://segmentfault.com/a/1190000010066071)
- [源码下载](https://github.com/scwang90/SmartRefreshLayout/releases)
- [多点触摸](https://github.com/scwang90/SmartRefreshLayout/blob/master/art/md_multitouch.md)
- [自定义Header](https://github.com/scwang90/SmartRefreshLayout/blob/master/art/md_custom.md) -->
<!-- ## Demo
[下载 APK-Demo](https://github.com/scwang90/SmartRefreshLayout/raw/master/art/app-debug.apk)
![](https://github.com/scwang90/SmartRefreshLayout/raw/master/art/png_apk_rqcode.png) -->
#### 成品展示
|Delivery|Material|
|:---:|:---:|
|![](art/gif/header-delivery.gif)|![](art/gif/header-material.gif)|
|[Refresh-your-delivery](https://dribbble.com/shots/2753803-Refresh-your-delivery)|[MaterialHeader](https://developer.android.com/reference/android/support/v4/widget/SwipeRefreshLayout.html)|
|BezierRadar|BezierCircle|
|:---:|:---:|
|![](art/gif/header-radar.gif)|![](art/gif/header-circle.gif)|
|[Pull To Refresh](https://dribbble.com/shots/1936194-Pull-To-Refresh)|[Pull Down To Refresh](https://dribbble.com/shots/1797373-Pull-Down-To-Refresh)|
|FlyRefresh|DropBox|
|:---:|:---:|
|![](art/gif/header-fly.gif)|![](art/gif/header-drop.gif)|
|[FlyRefresh](https://github.com/race604/FlyRefresh)|[DropBoxHeader](#1)|
|Phoenix|Taurus|
|:---:|:---:|
|![](art/gif/header-phoenix.gif)|![](art/gif/header-taurus.gif)|
|[Yalantis/Phoenix](https://github.com/Yalantis/Phoenix)|[Yalantis/Taurus](https://github.com/Yalantis/Taurus)
|BattleCity|HitBlock|
|:---:|:---:|
|![](art/gif/header-game-tank.gif)|![](art/gif/header-game-block.gif)|
|[FunGame/BattleCity](https://github.com/Hitomis/FunGameRefresh)|[FunGame/HitBlock](https://github.com/Hitomis/FunGameRefresh)
|StoreHouse|WaveSwipe|
|:---:|:---:|
|![](art/gif/header-store.gif)|![](art/gif/header-wave.gif)|
|[CRefreshLayout](https://github.com/cloay/CRefreshLayout)|[WaveSwipeRefreshLayout](https://github.com/recruit-lifestyle/WaveSwipeRefreshLayout)
|Original|Classics|
|:---:|:---:|
|![](art/gif/header-original.gif)|![](art/gif/header-classics.gif)|
|[FlyRefresh](https://github.com/race604/FlyRefresh)|[ClassicsHeader](#1)|
## 简单用例
#### 1.在 `Podfile` 中添加依赖
```
pod 'SmartRefreshControl', '~> 0.1.0'
```
#### 2.在 `ViewController` 中添加刷新头
```ObjectiveC
#import <SmartRefreshControl/SmartRefreshControl.h>
@interface DemoTableViewController ()
@property (strong, nonatomic) IBOutlet UITableView *tableView;
@property (strong, nonatomic) UIRefreshBezierRadarHeader *header;
@end
@implementation DemoTableViewController
- (void)viewDidLoad {
[super viewDidLoad];
//方式1: 初始化同时绑定事件
[self setHeader:[UIRefreshBezierRadarHeader attach:self.tableView target:self action:@selector(onRefresh)]];
//方式2: 先初始化,再绑定事件
[self setHeader:[UIRefreshBezierRadarHeader attach:self.tableView]];
[self.header addTarget:self action:@selector(onRefresh)];
//方式3: 先创建,再绑定
[self setHeader:[UIRefreshBezierRadarHeader new]];
[self.header attach:self.tableView];
[self.header addTarget:self action:@selector(onRefresh)];
}
@end
```
#### 3.添加刷新监听事件
```ObjectiveC
@implementation DemoTableViewController
- (void)onRefresh {
[self.header finishRefresh]; //关闭刷新,可以改成请求网络,成功/失败之后再关闭刷新
}
@end
```
License
-------
MIT License
Copyright (c) 2021 树朾
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
这里为你收集整理了关于毕业设计、课程设计可参考借鉴的资料一份,质量非常高,如果你投入时间去研究几天相信肯定对你有很大的帮助。到时候你会回来感谢我的。 本资源是经过本地编译测试、可打开、可运行的项目、文件或源码,可以用于毕业设计、课程设计的应用、参考和学习需求,请放心下载。 祝愿你在这个毕业设计项目中取得巨大进步,顺利毕业! 但还需强调一下,这些项目源码仅供学习和研究之用。在使用这些资源时,请务必遵守学术诚信原则和相关法律法规,不得将其用于任何商业目的或侵犯他人权益的行为。对于任何因使用本资源而导致的问题,包括但不限于数据丢失、系统崩溃或安全漏洞,风险自担哦! 如有侵权,请联系博主删除。
资源推荐
资源详情
资源评论
收起资源包目录
毕业设计-SmartRefreshControl 是 SmartRefreshLayout 的IOS版和Andr.zip (118个子文件)
header-wave.gif 922KB
header-original.gif 770KB
header-game-block.gif 693KB
header-game-tank.gif 670KB
header-material.gif 614KB
header-fly.gif 584KB
header-delivery.gif 438KB
header-classics.gif 409KB
header-taurus.gif 378KB
header-store.gif 349KB
header-phoenix.gif 334KB
header-radar.gif 330KB
header-circle.gif 309KB
header-drop.gif 283KB
.gitignore 1KB
PathsParser.h 4KB
UIRefreshComponent.h 4KB
SmartRefreshControl.h 2KB
UIRefreshFooter.h 2KB
ValueAnimator.h 2KB
UIRefreshHeader.h 2KB
UIRefreshStoreHouseHeader.h 1KB
VectorImage.h 970B
Element.h 759B
UIRefreshClassicsHeader.h 754B
UIRefreshClassicsFooter.h 636B
StoreHousePath.h 619B
MountainView.h 588B
UIRefreshGamePlayingScene.h 581B
StoreHouseLine.h 577B
UIVectorView.h 538B
PathElement.h 508B
UIRefreshOriginalHeader.h 451B
UIRefreshGameBattleCityHeader.h 423B
UIRefreshGameHitBlockHeader.h 418B
Utilities.h 415B
UIRefreshBezierRadarHeader.h 404B
UIRefreshBezierCircleHeader.h 403B
UIRefreshWaveSwipeHeader.h 398B
UIRefreshMaterialHeader.h 396B
UIRefreshDeliveryHeader.h 396B
UIRefreshPhoenixHeader.h 394B
UIRefreshDropBoxHeader.h 394B
UIRefreshTaurusHeader.h 392B
UIRefreshFlyHeader.h 386B
UIRefreshGameHeader.h 386B
UIRefreshGameStartScene.h 376B
FlyView.h 283B
SmartRefreshDemo-Bridging-Header.h 157B
Contents.json 2KB
Contents.json 123B
Contents.json 63B
LICENSE 1KB
UIRefreshWaveSwipeHeader.m 34KB
PathsParser.m 30KB
UIRefreshMaterialHeader.m 23KB
UIRefreshTaurusHeader.m 22KB
StoreHousePath.m 18KB
UIRefreshDropBoxHeader.m 15KB
UIRefreshPhoenixHeader.m 15KB
UIRefreshHeader.m 15KB
UIRefreshFooter.m 14KB
UIRefreshOriginalHeader.m 14KB
UIRefreshBezierCircleHeader.m 13KB
UIRefreshDeliveryHeader.m 11KB
UIRefreshBezierRadarHeader.m 11KB
UIRefreshComponent.m 11KB
PathElement.m 10KB
UIRefreshGameBattleCityHeader.m 10KB
UIRefreshFlyHeader.m 9KB
UIRefreshStoreHouseHeader.m 9KB
UIRefreshClassicsHeader.m 8KB
MountainView.m 8KB
UIRefreshGameHitBlockHeader.m 7KB
UIRefreshClassicsFooter.m 6KB
ValueAnimator.m 6KB
UIRefreshGameHeader.m 5KB
VectorImage.m 4KB
UIVectorView.m 3KB
Utilities.m 2KB
UIRefreshGamePlayingScene.m 2KB
UIRefreshGameStartScene.m 2KB
FlyView.m 1KB
Element.m 971B
StoreHouseLine.m 337B
README.md 7KB
project.pbxproj 62KB
Info.plist 2KB
Info.plist 752B
xcschememanagement.plist 621B
IDEWorkspaceChecks.plist 238B
SmartRefreshControl.podspec 7KB
Main.storyboard 18KB
LaunchScreen.storyboard 2KB
UIDemoFooterController.swift 10KB
UIDemoHeaderController.swift 9KB
DemoViewController.swift 5KB
SceneDelegate.swift 2KB
AppDelegate.swift 1KB
UIFlyController.swift 1KB
共 118 条
- 1
- 2
资源评论
高校毕业设计
- 粉丝: 210
- 资源: 384
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功