Refresher is pull to refresh library written in Swift. It provides easy to use UIScrollView methods to add pull to refresh to your view. Refresher also supports custom animations.
##Usage
###Basic usage
tableView.addPullToRefreshWithAction {
NSOperationQueue().addOperationWithBlock {
sleep(2)
NSOperationQueue.mainQueue().addOperationWithBlock {
self.tableView.stopPullToRefresh()
}
}
}
###Custom animations
Refresher supports custom animations on PullToRefreshView
. You need to create object that conforms to PullToRefreshViewAnimator
protocol.
Then, just pass your custom animator in addPullToRefrshWithAction
:
tableView.addPullToRefreshWithAction({
NSOperationQueue().addOperationWithBlock {
sleep(2)
NSOperationQueue.mainQueue().addOperationWithBlock {
self.tableView.stopPullToRefresh()
}
}
}, withAnimator: CustomAnimator())
Required methods that your custom object need to implement are:
func startAnimation()
- Called when user release finger from phone and when loading actually starts. Here you need to start your animations.func stopAnimation()
- Called when loading is over. Stop your animations here.func changeProgress(progress: CGFloat)
- Called when user is pulling view. If you want to implement some progress like behaviour on pull this method is called.func layoutLayers(superview: UIView)
- Called when layoutSubviews method is called. Here you want to implement layout changes and add your layers or views to view.
##Requirements
- Xcode 6
- iOS 8.0
##Installation
###Git submodule
- Add Refresher as a git submodule into your top-level project directory or simply copy whole folder
- Find
PullToRefresh.xcodeproj
and drag it into the file navigator of your app project. - In Xcode, navigate to the target configuration window by clicking on the blue project icon, and selecting the application target under the "Targets" heading in the sidebar.
- Under "General" panel go to "Linked Frameworks and Libraries" and add
Refresher.framework
###Framework
- Simply download Refresher
- Build it and you should find
Refresher.framework
under "Products" group. - Right click on it and select "Show in Finder" option.
- Just drag and drop
Refresher.framework
to your project
###Cocoapods
- Add
pod 'Refresher'
to your Podfile - Run
pod install
##Examples
##Credits
Refresher is created by Josip Ćavar and inspired by SVPullToRefresh. If you have suggestions or bug reports, feel free to send pull request or create new issue.