TopGit tracks ibireme/YYWebImage on GitHub. The project has 3.5k stars. Asynchronous image loading framework.
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
Image loading category for UIImageView, UIButton, MKAnnotationView and CALayer.
Image effect: blur, round corner, resize, color tint, crop, rotate and more.
High performance memory and disk image cache.
High performance image loader to avoid main thread blocked.
Fully documented.
Usage
Load image from URL
// load from remote url
imageView.yy_imageURL = [NSURL URLWithString:@"http://github.com/logo.png"];
// load from local url
imageView.yy_imageURL = [NSURL fileURLWithPath:@"/tmp/logo.png"];
Load animated image
// just replace `UIImageView` with `YYAnimatedImageView`
UIImageView *imageView = [YYAnimatedImageView new];
imageView.yy_imageURL = [NSURL URLWithString:@"http://github.com/ani.webp"];
Load image progressively
// progressive
[imageView yy_setImageWithURL:url options:YYWebImageOptionProgressive];
// progressive with blur and fade animation (see the demo at the top of this page)
[imageView yy_setImageWithURL:url options:YYWebImageOptionProgressiveBlur | YYWebImageOptionSetImageWithFadeAnimation];
Load and process image
// 1. download image from remote
// 2. get download progress
// 3. resize image and add round corner
// 4. set image with a fade animation
[imageView yy_setImageWithURL:url
placeholder:nil
options:YYWebImageOptionSetImageWithFadeAnimation
progress:^(NSInteger receivedSize, NSInteger expectedSize) {
progress = (float)receivedSize / expectedSize;
}
transform:^UIImage *(UIImage *image, NSURL *url) {
image = [image yy_imageByResizeToSize:CGSizeMake(100, 100) contentMode:UIViewContentModeCenter];
return [image yy_imageByRoundCornerRadius:10];
}
completion:^(UIImage *image, NSURL *url, YYWebImageFromType from, YYWebImageStage stage, NSError *error) {
if (from == YYWebImageFromDiskCache) {
NSLog(@"load from disk cache");
}
}];
Image Cache
YYImageCache *cache = [YYWebImageManager sharedManager].cache;
// get cache capacity
cache.memoryCache.totalCost;
cache.memoryCache.totalCount;
cache.diskCache.totalCost;
cache.diskCache.totalCount;
// clear cache
[cache.memoryCache removeAllObjects];
[cache.diskCache removeAllObjects];
// clear disk cache with progress
[cache.diskCache removeAllObjectsWithProgressBlock:^(int removedCount, int totalCount) {
// progress
} endBlock:^(BOOL error) {
// end
}];
Installation
CocoaPods
Update cocoapods to the latest version.
Add pod 'YYWebImage' to your Podfile.
Run pod install or pod update.
Import <YYWebImage/YYWebImage.h>.
Notice: it doesn't include WebP subspec by default, if you want to support WebP format, you may add pod 'YYImage/WebP' to your Podfile. You may call YYImageWebPAvailable() to check whether the WebP subspec is installed correctly.
Carthage
Add github "ibireme/YYWebImage" to your Cartfile.
Run carthage update --platform ios and add the framework to your project.
Import <YYWebImage/YYWebImage.h>.
Notice: carthage framework doesn't include webp component, if you want to support WebP format, use CocoaPods or install manually. You may call YYImageWebPAvailable() to check whether the WebP library is installed correctly.
Manually
Download all the files in the YYWebImage subdirectory.
Add the source files to your Xcode project.
Link with required frameworks:
UIKit
CoreFoundation
QuartzCore
AssetsLibrary
ImageIO
Accelerate
MobileCoreServices
sqlite3
libz
Import YYWebImage.h.
Notice: if you want to support WebP format, you may add Vendor/WebP.framework(static library) to your Xcode project.
Documentation
Full API documentation is available on CocoaDocs.
You can also install documentation locally using appledoc.
Requirements
This library requires iOS 6.0+ and Xcode 8.0+.
License
YYWebImage is provided under the MIT license. See LICENSE file for details.
TopGit's last sync did not record any GitHub topics for ibireme/YYWebImage. GitHub topics appear in the right sidebar of a repository page; that's the authoritative place to check.
How active is development on ibireme/YYWebImage?
The most recent commit recorded on ibireme/YYWebImage was 5.8 years ago, based on the GitHub push timestamp. The repository has 609 forks — one of the better signals of community interest.
How many stars does ibireme/YYWebImage have?
ibireme/YYWebImage has 3.5k GitHub stars — refresh the page for the live number, or check github.com/ibireme/YYWebImage. TopGit mirrors GitHub's count but does not claim minute-by-minute accuracy.
What language is ibireme/YYWebImage written in?
ibireme/YYWebImage is written primarily in Objective-C. GitHub's language field is based on the largest share of bytes in the default branch.
Where do I read more about ibireme/YYWebImage?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/ibireme/YYWebImage is the definitive source.
Read full README in the tab above.
Curious whether YYWebImage is right for you?
Let ChatGPT, Claude, or Perplexity look into it — click below and see what AI actually says about YYWebImage.