Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cyndibaby905/GIFRefreshControl
"Twitter music" and "Yahoo! Weather" like pull-to-refresh control created using GIF.
https://github.com/cyndibaby905/GIFRefreshControl
Last synced: 6 days ago
JSON representation
"Twitter music" and "Yahoo! Weather" like pull-to-refresh control created using GIF.
- Host: GitHub
- URL: https://github.com/cyndibaby905/GIFRefreshControl
- Owner: cyndibaby905
- License: mit
- Created: 2013-12-12T15:51:35.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2014-10-20T03:23:53.000Z (about 10 years ago)
- Last Synced: 2024-04-14T01:10:54.376Z (7 months ago)
- Language: Objective-C
- Size: 3.93 MB
- Stars: 292
- Watchers: 17
- Forks: 41
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-gif - GIFRefreshControl - "Twitter music" and "Yahoo! Weather" like pull-to-refresh control. (Libraries / Objective-C)
README
## CHGifRefreshControl ##
"Twitter music" and "Yahoo! Weather" like pull-to-refresh control created using GIF.
Completely created using UIKit framework.
Easy to drop into your project.
You can add your favorite gif animation to your own project, `CHGifRefreshControl` make it super easy.
## Requirements ##
CHGifRefreshControl requires Xcode 5, targeting either iOS 5.0 and above, ARC-enabled.
## How to use ##
Drag UIScrollView+GifPullToRefresh.h amd UIScrollView+GifPullToRefresh.m files to your project.No other frameworks required.
#import "UIScrollView+GifPullToRefresh.h"
UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:self.view.bounds];
NSMutableArray *TwitterMusicDrawingImgs = [NSMutableArray array];
NSMutableArray *TwitterMusicLoadingImgs = [NSMutableArray array];
for (NSUInteger i = 0; i <= 73; i++) {
NSString *fileName = [NSString stringWithFormat:@"PullToRefresh_%03d.png",i];
[TwitterMusicDrawingImgs addObject:[UIImage imageNamed:fileName]];
}
for (NSUInteger i = 73; i <= 140; i++) {
NSString *fileName = [NSString stringWithFormat:@"PullToRefresh_%03d.png",i];
[TwitterMusicLoadingImgs addObject:[UIImage imageNamed:fileName]];
}
__weak UIScrollView *tempScrollView = scrollView;
[scrollView addPullToRefreshWithDrawingImgs:TwitterMusicDrawingImgs andLoadingImgs:TwitterMusicLoadingImgs andActionHandler:^{
//Do your own work when refreshing, and don't forget to end the animation after work finished.
[tempScrollView performSelector:@selector(didFinishPullToRefresh) withObject:nil afterDelay:3];}];
And do not forget to remove it in your viewController's `dealloc` method:[scrollView removePullToRefresh];
## Tips ##
You can use `convert` command to convert all your gif picture's frames into png pictures:convert -coalesce animation.gif animation.png
Make sure to install ImageMagick and ghostscript first, you can use brew to simplify process:
brew install imagemagick
brew install ghostscript## How it looks ##
![CHGifRefreshControl] (https://raw.github.com/cyndibaby905/GIFRefreshControl/master/TwitterMusic.gif)
![CHGifRefreshControl] (https://raw.github.com/cyndibaby905/GIFRefreshControl/master/YahooWeather.gif)
![CHGifRefreshControl] (https://raw.github.com/cyndibaby905/GIFRefreshControl/master/Chrome.gif)
![CHGifRefreshControl] (https://raw.github.com/cyndibaby905/GIFRefreshControl/master/Universe.gif)
![CHGifRefreshControl] (https://raw.github.com/cyndibaby905/GIFRefreshControl/master/MacOSX.gif)
![CHGifRefreshControl] (https://raw.github.com/cyndibaby905/GIFRefreshControl/master/Windows.gif)## Known issues ##
CHGifRefreshControl assumes the scrollView's `contentInset` is `UIEdgeInsetsMake(64.0f, 0.0f, 0.0f, 0.0f)` in iOS 7 and `UIEdgeInsetsMake(0.0f, 0.0f, 0.0f, 0.0f)` in iOS 6. If this doesn't work for your project, you can modify the `originalContentInsectY` property in `CHGifRefreshControl` class. And I will make this step automatically later.
## Lincense ##
CHGifRefreshControl is available under the MIT license. See the LICENSE file for more info.