A Swift library for adding customizable pull-to-refresh and infinite scrolling animations to iOS scroll views.
CRRefresh is a Swift library for iOS that provides an easy way to add pull-to-refresh and infinite scrolling functionality to scrollable views. It solves the problem of implementing smooth, customizable refresh animations in UITableView, UICollectionView, and other UIScrollView subclasses with minimal code.
iOS developers building apps that require refresh functionality in table views, collection views, or text views, particularly those who want customizable animation styles beyond the system defaults.
Developers choose CRRefresh for its clean protocol-based architecture that makes customization straightforward, its support for multiple scroll view types, and its collection of pre-built, visually appealing animators that work out of the box.
An easy way to use pull-to-refresh
The CRRefreshProtocol allows developers to create fully custom animations by implementing methods like refreshBegin and refreshEnd, enabling unique refresh experiences beyond pre-built options.
Supports UIScrollView and all its subclasses including UITableView, UICollectionView, and UITextView, as stated in the README, making it versatile for different iOS interfaces.
Includes several ready-to-use animators like NormalAnimator and RamotionAnimator, shown in screenshots, which can be added with minimal code for quick prototyping.
Methods like addHeadRefresh and endHeaderRefresh provide an intuitive interface for managing refresh states, demonstrated in the usage examples with clear Swift code.
CRRefresh is designed for UIKit and does not natively integrate with SwiftUI, limiting its use in modern iOS development trends without additional wrapping effort.
The README admits that new dynamic effects are not regularly added, which may leave users wanting fresh animations without investing in custom protocol implementation.
Creating custom animators requires fully conforming to the CRRefreshProtocol, which can be more complex than using drop-in components with simple configuration options.
An easy way to use pull-to-refresh.
Give pull-to-refresh & infinite scrolling to any UIScrollView with 1 line of code.
Fully customizable pull-to-refresh control inspired by Storehouse iOS app
Elastic pull to refresh for iOS developed in Swift
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.