Skip to content

Commit e45b9a1

Browse files
committed
Fix the decodeFirstFrameOnly option, update the readme
1 parent dd8b6d0 commit e45b9a1

File tree

2 files changed

+19
-1
lines changed

2 files changed

+19
-1
lines changed

README.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,22 @@ let imageView: YYAnimatedImageView
3434
imageView.sd_setImage(with: URL(string: "http://www.domain.com/path/to/image.gif"))
3535
```
3636

37+
For advanced user, you can embed `YYImageDecoder` && `YYImageEncoder` to SDWebImage by using the wrapper class `SDImageYYCoder`. See [Custom Coder](https://github.com/rs/SDWebImage/wiki/Advanced-Usage#custom-coder-420) wiki in SDWebImage.
38+
39+
+ Objective-C
40+
41+
```objectivec
42+
// Register YYImage decoder/encoder as coder plugin
43+
[SDImageCodersManager.sharedManager addCoder:SDImageYYCoder.sharedCoder];
44+
```
45+
46+
+ Swift
47+
48+
```swift
49+
// Register YYImage decoder/encoder as coder plugin
50+
SDImageCodersManager.shared.addCoder(SDImageYYCoder.shared)
51+
```
52+
3753
#### YYCache Plugin
3854
To enable `YYCache` instead of `SDImageCache`, you can bind the cache for shared manager, or create a custom manager instead.
3955

SDWebImageYYPlugin/Classes/YYImage/YYImageBridge/SDImageYYCoder.m

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,9 @@ - (UIImage *)decodedImageWithData:(NSData *)data options:(SDImageCoderOptions *)
9292

9393
YYImageDecoder *decoder = [YYImageDecoder decoderWithData:data scale:scale];
9494
NSUInteger frameCount = decoder.frameCount;
95-
if (frameCount <= 1) {
95+
BOOL decodeFirstFrame = [options[SDImageCoderDecodeFirstFrameOnly] boolValue];
96+
97+
if (decodeFirstFrame || frameCount <= 1) {
9698
// Static Image
9799
image = [decoder frameAtIndex:0 decodeForDisplay:NO].image;
98100
} else {

0 commit comments

Comments
 (0)