iOS下拉刷新Demo示例
iOS 里的下拉刷新功能,用过的人都知道,虽然 UIRefreshControl 自带的够用,但样式真有点太朴素了。如果你也觉得视觉体验不够出彩,那可以试试类似 SDRefreshView 这样的库,挺灵活的,动画做得也顺滑。
系统原生的 UIRefreshControl 最大优点就是轻便,几行代码就能拉起来,比如你在 UITableView
上加个刷新,只要这样:
let refreshControl = UIRefreshControl()
refreshControl.addTarget(self, action: #selector(refreshData), for: .valueChanged)
tableView.addSubview(refreshControl)
但要是你想搞点有趣的动效,或者想自定义一下下拉的动画,就可以用第三方库来帮忙。像 SDRefreshView,就支持自定义头部动画、回弹、还有各种 scrollView 的支持,做起来挺方便。
大致流程也不复杂,先用 CocoaPods
加进项目,初始化、绑定刷新回调、记得刷新完调用 endRefreshing()
。例如:
let refreshView = SDRefreshView(frame: CGRect(x: 0, y: 0, width: tableView.bounds.width, height: 60))
refreshView.addTarget(self, action: #selector(refreshData), for: .touchUpInside)
tableView.addSubview(refreshView)
你在 refreshData
里写加载逻辑,跑完后别忘了 refreshView.endRefreshing()
,不然刷新动画就不会停。整体来说,这种方式更适合想做点风格化或者有品牌感的 UI。
如果你做的是资讯类、社交类、或列表频繁刷新的 App,用上这种自定义刷新体验会蛮加分的。要是不想折腾,也可以用官方控件,图个省事。
想深入了解更多类似用法,可以看看这些:
RefreshView.zip
预估大小:17个文件
RefreshView
文件夹
blueArrow@2x.png
1KB
RefreshView.h
2KB
.DS_Store
6KB
RefreshView.xib
15KB
blueArrow.png
1KB
.svn
文件夹
props
文件夹
prop-base
文件夹
blueArrow@2x.png.svn-base
79B
31.08KB
文件大小:
评论区