SwiftPullToRefresh基于UIScrollView的下拉刷新实现

基于UIScrollView的下拉刷新需求,SwiftPullToRefresh是个蛮轻量、挺好用的方案。它用 Swift 4 写的,适配老项目问题不大,自带页眉页脚控件,还支持 GIF 动画,界面动起来更顺滑,交互也更友好。

代码调用方式也直白,比如设置加载头:

scrollView.spr_setIndicatorHeader { [weak self] in
  // 做点事情,比如加载数据
  self?.scrollView.spr_endRefreshing()
}

类似的方式还能自定义文本头,或者搞个 GIF 动图头部,看你项目风格怎么选。用起来比较灵活,不会把你绑死。

如果你经常搞iOS列表页面,下拉刷新是标配的话,这套工具能帮你省不少事。不用自己去管动画、不用写重复逻辑,尤其适合时间紧的迭代。

哦对了,它的扩展是直接写在UIScrollView上的,用起来跟原生方式接近,不太会破坏你已有的逻辑。比较推荐用在UITableView或者UICollectionView上,响应也快。

如果你对动画效果有要求,想搞个花哨点的 GIF 刷新动画,也没问题,它本身就支持 GIF,配合一些第三方 GIF 库用起来还挺顺手。

如果你对 Swift 比较熟,尤其在做中小型项目,SwiftPullToRefresh是个值得一试的选择。

zip
SwiftPullToRefresh-master.zip 预估大小:69个文件
folder
SwiftPullToRefresh-master 文件夹
file
SwiftPullToRefresh.podspec 913B
folder
SwiftPullToRefresh.xcodeproj 文件夹
folder
xcshareddata 文件夹
folder
xcschemes 文件夹
file
SwiftPullToRefresh.xcscheme 3KB
folder
project.xcworkspace 文件夹
folder
xcshareddata 文件夹
file
IDEWorkspaceChecks.plist 238B
file
contents.xcworkspacedata 163B
file
project.pbxproj 24KB
file
.travis.yml 397B
file
LICENSE 1KB
file
README.md 4KB
file
logo.png 19KB
folder
SwiftPullToRefresh 文件夹
file
GIFTextHeader.swift 1KB
file
Info.plist 774B
file
GIFHeader.swift 5KB
file
IndicatorAutoFooter.swift 907B
file
SwiftPullToRefresh.h 561B
file
TextView.swift 2KB
file
TextAutoFooter.swift 1KB
file
UIScrollView+Extensions.swift 8KB
file
RefreshView.swift 6KB
file
IndicatorView.swift 2KB
file
.gitignore 1KB
folder
SwiftPullToRefreshDemo 文件夹
file
demo03.gif 29KB
file
ViewController.swift 2KB
file
demo02.gif 34KB
file
Info.plist 1KB
file
AppDelegate.swift 448B
file
demo01.gif 20KB
file
demo05.gif 233KB
file
SuperCatHeader.swift 5KB
file
demo-small.gif 37KB
file
demo06.gif 145KB
file
TestViewController.swift 3KB
folder
Base.lproj 文件夹
file
LaunchScreen.storyboard 2KB
file
Main.storyboard 10KB
file
demo-big.gif 759KB
file
demo07.gif 19KB
folder
Assets.xcassets 文件夹
folder
sun.imageset 文件夹
file
sun.png 4KB
file
sun@2x.png 5KB
file
Contents.json 333B
folder
cloud_1.imageset 文件夹
file
cloud_1@2x.png 4KB
file
cloud_1.png 4KB
file
Contents.json 341B
folder
buildings.imageset 文件夹
file
buildings.png 4KB
file
Contents.json 345B
file
buildings@2x.png 4KB
folder
cape_back.imageset 文件夹
file
cape_back@2x.png 5KB
file
cape_back.png 4KB
file
Contents.json 345B
folder
cloud_3.imageset 文件夹
file
cloud_3@2x.png 4KB
file
cloud_3.png 4KB
file
Contents.json 341B
folder
cloud_2.imageset 文件夹
file
cloud_2.png 4KB
file
cloud_2@2x.png 4KB
file
Contents.json 341B
folder
sign.imageset 文件夹
file
sign@2x.png 6KB
file
sign.png 5KB
file
Contents.json 335B
folder
ground.imageset 文件夹
file
ground.png 3KB
file
ground@2x.png 4KB
file
Contents.json 339B
folder
cape_front.imageset 文件夹
file
cape_front.png 3KB
file
cape_front@2x.png 4KB
file
Contents.json 347B
folder
AppIcon.appiconset 文件夹
file
Contents.json 2KB
file
Contents.json 62B
folder
cat.imageset 文件夹
file
cat.png 7KB
file
cat@2x.png 9KB
file
Contents.json 333B
file
demo08.gif 39KB
file
demo04.gif 46KB
...
zip 文件大小:1.4MB