PullToRefreshSwift
iOS Simple Cool PullToRefresh Library. It is written in pure swift.
Installation
CocoaPods
pod 'PullToRefreshSwift'
Manually Add the following files to your project. pulltorefresharrow.png PullToRefreshView.swift PullToRefreshConst.swift UIScrollViewExtension.swift
Usage
Setup
In your UIViewController Including UITableView, UICollectionView, UIScrollView:
override func viewDidLoad() {
self.tableView.addPullToRefresh({ [weak self] in
// refresh code
self?.tableView.reloadData()
self?.tableView.stopPullToRefresh()
})
}
You can use PullToRefreshOption class at addPullToRefresh func option parameter:
override func viewDidLoad() {
let options = PullToRefreshOption()
options.backgroundColor = UIColor.blueColor()
options.indicatorColor = UIColor.whiteColor()
self.tableView.addPullToRefresh(options: options, { [weak self] in
// some code
self?.tableView.reloadData()
self?.tableView.stopPullToRefresh()
})
}
If you want to fixed pulltoRefreshView, please implement scrollViewDidScroll.
func scrollViewDidScroll(scrollView: UIScrollView) {
self.tableView.fixedPullToRefreshViewForDidScroll()
}
If you want to use the custom const, please change the PullToRefreshConst class.
struct PullToRefreshConst {
static let tag = 810
static let alpha = true
static let height: CGFloat = 80
static let imageName: String = "pulltorefresharrow.png"
static let animationDuration: Double = 0.4
static let fixedTop = true // PullToRefreshView fixed Top
}
If you want to use the custom option, please change the PullToRefreshOption class.
You can use this class at addPullToRefresh func option parameter.
class PullToRefreshOption {
var backgroundColor = UIColor.clearColor()
var indicatorColor = UIColor.grayColor()
var autoStopTime: Double = 0.7 // 0 is not auto stop
var fixedSectionHeader = false // Update the content inset for fixed section headers
}
Requirements
Requires Swift3.0 and iOS 8.0 and ARC.
If you are developing in the Swift1.1 ~ 2.3, please use branch of Swift1.1 ~ Swift2.3.
Features
- Highly customizable
- Complete example
- Refactoring