BOZPongRefreshControl alternatives and similar libraries
Based on the "Pull to Refresh" category.
Alternatively, view BOZPongRefreshControl alternatives based on common mentions on social networks and blogs.
-
CBStoreHouseRefreshControl
Fully customizable pull-to-refresh control inspired by Storehouse iOS app -
ESPullToRefresh
#Busy Re-Building....# An easy way to use pull to refresh and infinite scrolling in Swift. Pod 'ESPullToRefresh' -
PullToBounce
Animated "Pull To Refresh" Library for UIScrollView. Inspired by https://dribbble.com/shots/1797373-Pull-Down-To-Refresh -
UzysAnimatedGifPullToRefresh
Add PullToRefresh using animated GIF to any scrollView with just simple code -
KafkaRefresh
Animated, customizable, and flexible pull-to-refresh framework for faster and easier iOS development. -
PullToRefreshCoreText
PullToRefresh extension for all UIScrollView type classes with animated text drawing style -
GIFRefreshControl
GIFRefreshControl is a pull to refresh that supports GIF images as track animations. -
HTPullToRefresh
Easily add vertical and horizontal pull to refresh to any UIScrollView. Can also add multiple pull-to-refesh views at once.
InfluxDB - Power Real-Time Data Analytics at Scale
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of BOZPongRefreshControl or a related project?
README
BOZPongRefreshControl
A pull-down-to-refresh control for iOS that plays pong
Installation
It's on CocoaPods! Put pod 'BOZPongRefreshControl'
in your Podfile.
Alternatively, just place BOZPongRefreshControl.h
and BOZPongRefreshControl.m
in your project anywhere you'd like.
Usage
Attach it to a UITableView
or UIScrollView
like so:
- (void)viewDidLoad
{
[super viewDidLoad];
/* NOTE: Do NOT attach the refresh control in viewDidLoad!
* If you do this here, it'll act very funny if you have
* a navigation bar or other such similar thing that iOS
* automatically offsets content for. You have to wait for
* the subviews to get laid out first so the refresh
* control knows how big that offset is!
*/
}
- (void)viewDidLayoutSubviews
{
self.pongRefreshControl = [BOZPongRefreshControl attachToTableView:self.tableView
withRefreshTarget:self
andRefreshAction:@selector(refreshTriggered)];
}
Then, implement UIScrollViewDelegate
in your UIViewController
if you haven't already, and pass the calls through to the refresh control:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
[self.pongRefreshControl scrollViewDidScroll];
}
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{
[self.pongRefreshControl scrollViewDidEndDragging];
}
Lastly, make sure you've implemented the refreshAction
you passed it earlier to listen for refresh triggers:
- (void)refreshTriggered
{
//Go and load some data
//Finshed loading the data, reset the refresh control
[self.pongRefreshControl finishedLoading];
}
For more details, check out the demo app's code. It has examples for using the refresh control on a UIScrollView
and outside of a UITableViewController
.
Configuration
- Set the foreground color with the
foregroundColor
property - Set the background color with the
backgroundColor
property - Adjust how fast it plays by changing the
totalHorizontalTravelTimeForBall
property
Known Issues/To Do
- It'll interfere with
UIScrollView
content that's abovey = 0.0f
- I haven't tested it, but I'd be willing to bet it looks a bit silly on iPads
- Test it out on a physical iPhone 6+
- The behavior of the paddles needs a little work
- The the
UIScrollView
that it's attached to is scrolled automatically, the refresh control may be scrolled down into view under some circumstances (expanding/collapsingUITableViewCell
s, for example) - Tests!