Skip to content
Animated "Pull To Refresh" Library for UIScrollView. Inspired by
Swift Ruby
Branch: master
Clone or download
ndlinh Merge pull request #21 from ndlinh/master
Remove deprecated warning
Latest commit 6fb7bfb Jan 14, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
PullToBounce.xcodeproj convert to swift3 Jan 12, 2017
PullToBounce Remove deprecated warning Nov 7, 2017
PullToBounceTests convert to swift3 Jan 12, 2017
.gitignore Added git ignore Sep 3, 2015
LICENSE change directory position Aug 13, 2015
PullToBounce.podspec update pod spec Oct 25, 2015 Added the Xamarin.iOS to the readme Sep 15, 2015
demo.gif resize GIF Aug 13, 2015


Platform Language License CocoaPods

Animated "Pull To Refresh" Library for UIScrollView.

You can add animated "pull to refresh" action to your UIScrollView, UITableView and UICollectionView.

Inspired by

Objective-C version is here.

Xamarin.iOS version is here.


Demo GIF Animation

You can play demo at


You can install this to your project via CocoaPods.

pod 'PullToBounce'


Please Wrap your scroll view

// Please wrap your scroll view
tableView.frame = yourFrame
let tableViewWrapper = PullToBounceWrapper(scrollView: tableView)

// Please add wrapper view to your view instead of your scroll view.

The frame of wrapper will be same as your scrollView.

And the color will be same as your scrollView's background color.

Event Handler

tableViewWrapper.didPullToRefresh = {
    didFinishYourLoading() {

Custom Animation

Default arguments of "init" of PullToBounceWrapper

  scrollView: UIScrollView, // this is the only required argument
  bounceDuration: CFTimeInterval = 0.8,
  ballSize:CGFloat = 36,
  ballMoveTimingFunc: CAMediaTimingFunction = CAMediaTimingFunction(controlPoints:0.49,0.13,0.29,1.61),
  moveUpDuration: CFTimeInterval = 0.25,
  pullDistance: CGFloat = 96,
  bendDistance: CGFloat = 40,
  didPullToRefresh: (()->())? = nil

You can use these arguments to customize animation.

You can’t perform that action at this time.