Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. iOS
  3. PullToBounce

PullToBounce

MITSwift

An animated pull-to-refresh library for iOS UIScrollView with customizable bounce effects.

GitHubGitHub
1.9k stars165 forks0 contributors

What is PullToBounce?

PullToBounce is an iOS library that implements animated pull-to-refresh functionality for UIScrollView, UITableView, and UICollectionView. It solves the need for engaging, customizable refresh animations in iOS apps, inspired by a popular Dribbble design. The library wraps scroll views to add bounce effects with minimal setup.

Target Audience

iOS developers building apps with scrollable content who want to enhance user experience with smooth, visually appealing pull-to-refresh animations.

Value Proposition

Developers choose PullToBounce for its easy integration, high customizability of animation parameters, and availability in multiple language versions (Swift, Objective-C, Xamarin.iOS), making it versatile for different iOS project needs.

Overview

Animated "Pull To Refresh" Library for UIScrollView. Inspired by https://dribbble.com/shots/1797373-Pull-Down-To-Refresh

Use Cases

Best For

  • Adding animated pull-to-refresh to UITableView in Swift projects
  • Enhancing UICollectionView with custom bounce animations
  • Implementing Dribbble-inspired UI interactions in iOS apps
  • Creating visually engaging refresh indicators for scrollable content
  • Quickly integrating pull-to-refresh with minimal code changes
  • Customizing animation timing and appearance for brand-specific designs

Not Ideal For

  • Apps requiring native iOS pull-to-refresh controls for system consistency and accessibility
  • Projects with complex view hierarchies where wrapping scroll views could disrupt auto-layout or gesture recognizers
  • Teams needing pull-to-refresh with advanced features like built-in network error states or multiple animation styles

Pros & Cons

Pros

Simple Wrapper Integration

Setup involves minimal code by wrapping scroll views, as demonstrated in the README with just a few lines to add the wrapper and event handler.

Highly Customizable Animations

Offers adjustable parameters such as bounce duration, ball size, and timing functions, allowing fine-tuned control over the refresh animation's appearance and behavior.

Multi-Language Support

Available in Swift, Objective-C, and Xamarin.iOS versions, making it versatile for different iOS development environments and legacy codebases.

Clean Event Handling

Provides a straightforward callback system for triggering and stopping refresh actions, simplifying the integration with data loading logic.

Cons

View Hierarchy Complexity

The wrapper approach alters the native scroll view hierarchy, which can complicate debugging and might interfere with other UI components or constraints.

Limited Animation Variety

Focused on a single bounce-inspired animation style, lacking built-in options for alternative refresh indicators like spinners, progress bars, or custom images.

Dependency on CocoaPods

Requires CocoaPods for installation, which may not be suitable for projects using other dependency managers or those aiming to minimize third-party dependencies.

Frequently Asked Questions

Quick Stats

Stars1,852
Forks165
Contributors0
Open Issues18
Last commit6 years ago
CreatedSince 2015

Tags

#mobile-ui#ios#library#animation#ui-components#cocoapods#swift-library#uiscrollview#pull-to-refresh

Built With

i
iOS
C
CocoaPods
S
Swift

Included in

iOS51.7k
Auto-fetched 1 day ago

Related Projects

MJRefreshMJRefresh

An easy way to use pull-to-refresh.

Stars13,819
Forks3,528
Last commit7 months ago
SVPullToRefreshSVPullToRefresh

Give pull-to-refresh & infinite scrolling to any UIScrollView with 1 line of code.

Stars4,785
Forks1,075
Last commit2 years ago
CBStoreHouseRefreshControlCBStoreHouseRefreshControl

Fully customizable pull-to-refresh control inspired by Storehouse iOS app

Stars3,893
Forks467
Last commit6 years ago
DGElasticPullToRefreshDGElasticPullToRefresh

Elastic pull to refresh for iOS developed in Swift

Stars3,746
Forks436
Last commit4 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub