iOS Simple PullToRefresh Library.
##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.clear
var indicatorColor = UIColor.gray
var autoStopTime: Double = 0.7 // 0 is not auto stop
var fixedSectionHeader = false // Update the content inset for fixed section headers
}
-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.
- Highly customizable
- Complete example
- Refactoring
Forks, patches and other feedback are welcome.
PullToRefreshSwift is available under the MIT license. See the LICENSE file for more info.