iOS 표시 gif 그림

2282 단어 iOS

방법 1. 전통 방식

//1. Gif , Data 
    NSString *path = [NSBundle.mainBundle pathForResource:@"demo" ofType:@"gif"];
    NSData *data = [NSData dataWithContentsOfFile:path];
    
    //2. data CGImageSource 
    CGImageSourceRef imageSource = CGImageSourceCreateWithData(CFBridgingRetain(data), nil);
    size_t imageCount = CGImageSourceGetCount(imageSource);
    
    //3. 
    NSMutableArray *images = [NSMutableArray array];
    NSTimeInterval totalDuration = 0;
    for (int i = 0; i

전체 코드:https://github.com/dolacmeng/gifDemo

메서드 2, 타사 프레임 FLAnimatedImage


FLAnimatedImage를 사용하면 gif 그림을 보기에 빠르게 추가할 수 있습니다. 예를 들어 테스트gif.gif 그림:
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"test_gif" ofType:@"gif"];
NSURL *url = [NSURL fileURLWithPath:filePath];
FLAnimatedImage *gest = [FLAnimatedImage animatedImageWithGIFData: [NSData dataWithContentsOfURL:url]];
FLAnimatedImageView *gestImageView = [[FLAnimatedImageView alloc] init];
gestImageView.animatedImage = gest;
gestImageView.frame = CGRectMake(461, 311, 119.5, 113);
[view addSubview:gestImageView];

메서드 3. UIWebView 활용


UIWebView를 사용하여 이름이 test 인 경우gif.png 그림:
UIImageView *bgImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, _imageW, _imageH)];
NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"test_gif" ofType:@"gif"];
NSData *imgData = [NSData dataWithContentsOfFile:imagePath];
UIImage *image = [UIImage imageWithData:imgData];
bgImageView.image = image;
 [self.bgScrollView addSubview:bgImageView];

여러 Gif 동시 재생 문제 최적화


나의 실제 개발에서 한 페이지에 여러 개의 Gif 애니메이션을 표시하는 것이 필요하다. 위의 방법을 이용하면 끊기는 문제가 생길 수 있다. 디자인 사자와의 소통을 통해 Gif 파일을 apng 형식으로 바꾸고 방법 3의 방식으로 UIWebView로 불러오면 끊기지 않는다.

좋은 웹페이지 즐겨찾기