GearRefreshControl
  • September 24, 2023

A custom animation for the UIRefreshControl. Inspired by this Dribble shot and this tutorial.

Screenshot


Usage


Install through CocoaPods

pod ‘GearRefreshControl’, ‘~> 1.0.0’

use_frameworks!

Setup your refreshControl:

override func viewDidLoad() {
super.viewDidLoad()
gearRefreshControl = GearRefreshControl(frame: self.view.bounds)
gearRefreshControl.addTarget(self, action: #selector(ViewController.refresh), for: UIControlEvents.valueChanged)
self.refreshControl = gearRefreshControl
}

Update state:

override func scrollViewDidScroll(_ scrollView: UIScrollView) {
gearRefreshControl.scrollViewDidScroll(scrollView)
}

Stop the animation on completion:

self.gearRefreshControl.endRefreshing()

Customization


You can customize the color of the control by setting the gearTintColor property:

gearRefreshControl.gearTintColor = .red

Checkout the sample project for the full implementation.

GitHub


View Github

YOU MIGHT ALSO LIKE...
ViewCondition

✨ Super sweet syntactic sugar for SwiftUI.View initializers. At a Glance

SwiftUIX

SwiftUIX attempts to fill the gaps of SwiftUI, providing an extensive suite of components, extensions and utilities to complement the ...

SwiftUI Environment Overrides

A tiny library that adds a control panel for testing how SwiftUI app adapts for different color themes, accessibility settings, ...