<p align="center" >
<img src="SDWebImage_logo.png" title="SDWebImage logo" float=left>
</p>
[![Build Status](http://img.shields.io/travis/rs/SDWebImage/master.svg?style=flat)](https://travis-ci.org/rs/SDWebImage)
[![Pod Version](http://img.shields.io/cocoapods/v/SDWebImage.svg?style=flat)](http://cocoadocs.org/docsets/SDWebImage/)
[![Pod Platform](http://img.shields.io/cocoapods/p/SDWebImage.svg?style=flat)](http://cocoadocs.org/docsets/SDWebImage/)
[![Pod License](http://img.shields.io/cocoapods/l/SDWebImage.svg?style=flat)](https://www.apache.org/licenses/LICENSE-2.0.html)
[![Dependency Status](https://www.versioneye.com/objective-c/sdwebimage/badge.svg?style=flat)](https://www.versioneye.com/objective-c/sdwebimage)
[![Reference Status](https://www.versioneye.com/objective-c/sdwebimage/reference_badge.svg?style=flat)](https://www.versioneye.com/objective-c/sdwebimage/references)
[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/rs/SDWebImage)
[![codecov](https://codecov.io/gh/rs/SDWebImage/branch/master/graph/badge.svg)](https://codecov.io/gh/rs/SDWebImage)
This library provides an async image downloader with cache support. For convenience, we added categories for UI elements like `UIImageView`, `UIButton`, `MKAnnotationView`.
## Features
- [x] Categories for `UIImageView`, `UIButton`, `MKAnnotationView` adding web image and cache management
- [x] An asynchronous image downloader
- [x] An asynchronous memory + disk image caching with automatic cache expiration handling
- [x] A background image decompression
- [x] A guarantee that the same URL won't be downloaded several times
- [x] A guarantee that bogus URLs won't be retried again and again
- [x] A guarantee that main thread will never be blocked
- [x] Performances!
- [x] Use GCD and ARC
## Supported Image Formats
- Image formats supported by UIImage (JPEG, PNG, ...), including GIF
- WebP format, including animated WebP (use the `WebP` subspec)
## Requirements
- iOS 7.0 or later
- tvOS 9.0 or later
- watchOS 2.0 or later
- OS X 10.8 or later
- Xcode 7.3 or later
#### Backwards compatibility
- For iOS 5 and 6, use [any 3.x version up to 3.7.6](https://github.com/rs/SDWebImage/tree/3.7.6)
- For iOS < 5.0, please use the last [2.0 version](https://github.com/rs/SDWebImage/tree/2.0-compat).
## Getting Started
- Read this Readme doc
- Read the [How to use section](https://github.com/rs/SDWebImage#how-to-use)
- Read the [documentation @ CocoaDocs](http://cocoadocs.org/docsets/SDWebImage/)
- Read [How is SDWebImage better than X?](https://github.com/rs/SDWebImage/wiki/How-is-SDWebImage-better-than-X%3F)
- Try the example by downloading the project from Github or even easier using CocoaPods try `pod try SDWebImage`
- Get to the [installation steps](https://github.com/rs/SDWebImage#installation)
- Read the [SDWebImage 4.0 Migration Guide](Docs/SDWebImage-4.0-Migration-guide.md) to get an idea of the changes from 3.x to 4.x
## Who Uses It
- Find out [who uses SDWebImage](https://github.com/rs/SDWebImage/wiki/Who-Uses-SDWebImage) and add your app to the list.
## Communication
- If you **need help**, use [Stack Overflow](http://stackoverflow.com/questions/tagged/sdwebimage). (Tag 'sdwebimage')
- If you'd like to **ask a general question**, use [Stack Overflow](http://stackoverflow.com/questions/tagged/sdwebimage).
- If you **found a bug**, open an issue.
- If you **have a feature request**, open an issue.
- If you **want to contribute**, submit a pull request.
## Installation
## How To Use
```objective-c
Objective-C:
#import <SDWebImage/UIImageView+WebCache.h>
...
[imageView sd_setImageWithURL:[NSURL URLWithString:@"http://www.domain.com/path/to/image.jpg"]
placeholderImage:[UIImage imageNamed:@"placeholder.png"]];
```
```swift
Swift:
@import SDWebImage
imageView.sd_setImage(with: URL(string: "http://www.domain.com/path/to/image.jpg"), placeholderImage: UIImage(named: "placeholder.png"))
```
- For details about how to use the library and clear examples, see [The detailed How to use](Docs/HowToUse.md)
## Animated Images (GIF) support
- Starting with the 4.0 version, we rely on [FLAnimatedImage](https://github.com/Flipboard/FLAnimatedImage) to take care of our animated images.
- To use it, simply make sure you use `FLAnimatedImageView` instead of `UIImageView`.
- **Note**: there is a backwards compatible feature, so if you are still trying to load a GIF into a `UIImageView`, it will only show the 1st frame as a static image.
- **Important**: FLAnimatedImage only works on the iOS platform, so for all the other platforms (OS X, tvOS, watchOS) we will fallback to the backwards compatibility feature described above
Common Problems
---------------
### Using dynamic image size with UITableViewCell
UITableView determines the size of the image by the first image set for a cell. If your remote images
don't have the same size as your placeholder image, you may experience strange anamorphic scaling issue.
The following article gives a way to workaround this issue:
[http://www.wrichards.com/blog/2011/11/sdwebimage-fixed-width-cell-images/](http://www.wrichards.com/blog/2011/11/sdwebimage-fixed-width-cell-images/)
### Handle image refresh
SDWebImage does very aggressive caching by default. It ignores all kind of caching control header returned by the HTTP server and cache the returned images with no time restriction. It implies your images URLs are static URLs pointing to images that never change. If the pointed image happen to change, some parts of the URL should change accordingly.
If you don't control the image server you're using, you may not be able to change the URL when its content is updated. This is the case for Facebook avatar URLs for instance. In such case, you may use the `SDWebImageRefreshCached` flag. This will slightly degrade the performance but will respect the HTTP caching control headers:
``` objective-c
[imageView sd_setImageWithURL:[NSURL URLWithString:@"https://graph.facebook.com/olivier.poitrey/picture"]
placeholderImage:[UIImage imageNamed:@"avatar-placeholder.png"]
options:SDWebImageRefreshCached];
```
### Add a progress indicator
Add these before you call ```sd_setImageWithURL```
``` objective-c
[imageView setShowActivityIndicatorView:YES];
[imageView setIndicatorStyle:UIActivityIndicatorViewStyleGray];
```
``` swift
imageView.setShowActivityIndicatorView(true)
imageView.setIndicatorStyle(.Gray)
```
Installation
------------
There are three ways to use SDWebImage in your project:
- using CocoaPods
- using Carthage
- by cloning the project into your repository
### Installation with CocoaPods
[CocoaPods](http://cocoapods.org/) is a dependency manager for Objective-C, which automates and simplifies the process of using 3rd-party libraries in your projects. See the [Get Started](http://cocoapods.org/#get_started) section for more details.
#### Podfile
```
platform :ios, '7.0'
pod 'SDWebImage', '~>3.8'
```
If you are using Swift, be sure to add `use_frameworks!` and set your target to iOS 8+:
```
platform :ios, '8.0'
use_frameworks!
```
#### Subspecs
There are 3 subspecs available now: `Core`, `MapKit` and `WebP` (this means you can install only some of the SDWebImage modules. By default, you get just `Core`, so if you need `WebP`, you need to specify it).
Podfile example:
```
pod 'SDWebImage/WebP'
```
### Installation with Carthage (iOS 8+)
[Carthage](https://github.com/Carthage/Carthage) is a lightweight dependency manager for Swift and Objective-C. It leverages CocoaTouch modules and is less invasive than CocoaPods.
To install with carthage, follow the instruction on [Carthage](https://github.com/Carthage/Carthage)
#### Cartfile
```
github "rs/SDWebImage"
```
### Installation by cloning the repository
- see [Manual install](Docs/ManualInstallation.md)
### Import headers in your source files
In the source files where you need to
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 3、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。
资源推荐
资源详情
资源评论
收起资源包目录
赛车动画源码+项目说明.zip (152个子文件)
eitn3-tjw3p.gif 14.47MB
wheel.gif 401B
.gitignore 1KB
UIButton+WebCache.h 11KB
SDWebImageManager.h 10KB
SDImageCache.h 9KB
UIImageView+WebCache.h 8KB
SDWebImageDownloader.h 8KB
MASConstraint.h 8KB
MASUtilities.h 6KB
MASConstraintMaker.h 6KB
View+MASAdditions.h 5KB
View+MASShorthandAdditions.h 5KB
SDWebImageDownloaderOperation.h 5KB
UIImageView+HighlightedWebCache.h 4KB
SDWebImagePrefetcher.h 4KB
UIView+WebCache.h 3KB
SDWebImageCompat.h 3KB
NSArray+MASAdditions.h 3KB
MASConstraint+Private.h 2KB
MASViewConstraint.h 1KB
MASViewAttribute.h 1KB
UIView+WebCacheOperation.h 1KB
NSArray+MASShorthandAdditions.h 1016B
SDImageCacheConfig.h 994B
ViewController+MASAdditions.h 891B
Masonry.h 802B
NSData+ImageContentType.h 756B
CarBaseView.h 710B
UIImage+GIF.h 583B
SDWebImageDecoder.h 534B
UIImage+MultiFormat.h 505B
MASLayoutConstraint.h 505B
MASCompositeConstraint.h 494B
NSImage+WebCache.h 412B
JCCarAnimationView.h 380B
SDWebImageOperation.h 329B
NSLayoutConstraint+MASDebugAdditions.h 326B
AppDelegate.h 278B
ViewController.h 216B
road.jpg 716KB
road1.jpg 163KB
scenery.jpg 106KB
scenery1.jpg 105KB
scenery2.jpg 55KB
Contents.json 2KB
LICENSE 1KB
LICENSE 1KB
SDImageCache.m 22KB
SDWebImageDownloaderOperation.m 22KB
SDWebImageManager.m 16KB
SDWebImageDownloader.m 14KB
MASViewConstraint.m 13KB
SDWebImageDecoder.m 12KB
MASConstraintMaker.m 10KB
JCCarAnimationView.m 10KB
MASConstraint.m 8KB
UIView+WebCache.m 7KB
UIButton+WebCache.m 7KB
View+MASAdditions.m 6KB
NSArray+MASAdditions.m 6KB
NSLayoutConstraint+MASDebugAdditions.m 6KB
SDWebImagePrefetcher.m 5KB
UIImage+MultiFormat.m 5KB
CarBaseView.m 5KB
MASCompositeConstraint.m 5KB
UIImageView+WebCache.m 5KB
UIView+WebCacheOperation.m 2KB
UIImageView+HighlightedWebCache.m 2KB
AppDelegate.m 2KB
SDWebImageCompat.m 2KB
UIImage+GIF.m 2KB
ViewController+MASAdditions.m 1KB
NSData+ImageContentType.m 1KB
AnimationRacingCarUITests.m 1KB
MASViewAttribute.m 1KB
ViewController.m 996B
AnimationRacingCarTests.m 933B
NSImage+WebCache.m 621B
SDImageCacheConfig.m 566B
main.m 335B
MASLayoutConstraint.m 227B
README.md 9KB
README.md 3KB
project.pbxproj 73KB
Info.plist 1KB
Info.plist 701B
Info.plist 701B
finisher1.png 38KB
flame.png 19KB
car10.png 15KB
car9.png 15KB
car5-2.png 14KB
car2-2.png 14KB
car5-4.png 14KB
car5-3.png 14KB
car8-1.png 14KB
car8-2.png 14KB
car5-1.png 14KB
car8-3.png 14KB
共 152 条
- 1
- 2
资源评论
土豆片片
- 粉丝: 1558
- 资源: 5641
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功