Analysis updated 2026-07-03
Replace the standard iOS loading spinner with a branded elastic animation on a table view or scroll view
Create a custom animated loading indicator for your app by subclassing the provided base class and implementing three methods
Add a pull-to-refresh effect to an existing table view with just a few lines of Swift code and a custom accent color
| gontovnik/dgelasticpulltorefresh | kasketis/netfox | louisdh/panelkit | |
|---|---|---|---|
| Stars | 3,749 | 3,749 | 3,749 |
| Language | Swift | Swift | Swift |
| Setup difficulty | easy | easy | easy |
| Complexity | 2/5 | 1/5 | 3/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires manual cleanup before view controller deallocation, the README marks this as a temporary limitation.
DGElasticPullToRefresh is a Swift library for iOS that adds an animated pull-to-refresh effect to scrollable views like table lists. Pull-to-refresh is the gesture where you drag down from the top of a list to trigger a data reload. This library makes that gesture look like the top of the list stretches like elastic before snapping back, rather than using the flat spinner that iOS provides by default. The effect was inspired by an animation concept posted on Dribbble. The author also published a tutorial explaining how the elastic stretching physics were implemented using bezier curves and spring animations. Adding the effect to an existing table view takes a few lines of Swift code. You attach a refresh handler to the table view, specify a loading indicator view, set the fill color for the elastic area, and set the background color. When the user pulls down and releases, the handler fires, your data loading logic runs, and when it finishes you call a stop method to dismiss the loading state. The library includes a built-in circular loading indicator, and you can create your own by subclassing the provided base class and implementing three methods: one to track pull progress, one to start the animation, and one to stop it. Other configurable options include auto-starting the loading state programmatically, changing colors, and removing the pull-to-refresh behavior entirely when a view controller is about to be deallocated (the README notes that cleanup is required and marks it as a temporary limitation). The library can be installed via CocoaPods or by copying the source files directly. It requires iOS 8 and Xcode 7 or later, written in Swift 3. The license is MIT.
DGElasticPullToRefresh replaces the default iOS pull-to-refresh spinner with an elastic stretching animation that makes the top of a list appear to snap like rubber when pulled down.
Mainly Swift. The stack also includes Swift, iOS, CocoaPods.
Use freely in any project, commercial or personal, as long as you keep the copyright notice.
Setup difficulty is rated easy, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.