1. 可以根据图片的url 后缀是否包含gif 来判断
2.sdWebImage 判断原理 比较严格的判断方式
取出图片的第一个字节,根据字节的类型就可以判断是否为gif 图片
#import "NSData+ImageContentType.h"
@implementation NSData (ImageContentType)
+ (NSString *)sd_contentTypeForImageData:(NSData *)data {
uint8_t c;
[data getBytes:&c length:1];
switch (c) {
case 0xFF:
return @"image/jpeg";
case 0x89:
return @"image/png";
case 0x47:
return @"image/gif";
case 0x49:
case 0x4D:
return @"image/tiff";
case 0x52:
// R as RIFF for WEBP
if ([data length] < 12) {
return nil;
}
NSString *testString = [[NSString alloc] initWithData:[data subdataWithRange:NSMakeRange(0, 12)] encoding:NSASCIIStringEncoding];
if ([testString hasPrefix:@"RIFF"] && [testString hasSuffix:@"WEBP"]) {
return @"image/webp";
}
return nil;
}
return nil;
}
3.gif 图片动画实现的原理
将gif 图片切为一针一针,然后用 [UIImage animatedImageWithImages:<#(nonnull NSArray*)#> duration:<#(NSTimeInterval)#>]来实现动画
大致思路记下