gif动画

作者: 韩七夏 | 来源:发表于2016-04-05 23:36 被阅读119次

iPhone SDK提供了多种动画手段,UIView、UIImageView和CALayer都支持动画。但如何处理常见的gif动画呢?UIWebView提供了答案,代码如下:

1.使用UIWebView播放

//设定位置和大小

CGRect frame = CGRectMake(50,50,0,0);

frame.size = [UIImage imageNamed:@"guzhang.gif"].size;

//读取gif图片数据

NSData*gif = [NSDatadataWithContentsOfFile: [[NSBundlemainBundle]pathForResource:@"guzhang"ofType:@"gif"]];

// view生成

UIWebView*webView = [[UIWebView alloc] initWithFrame:frame];

webView.userInteractionEnabled =NO;//用户不可交互

[webView loadData:gif MIMEType:@"image/gif"textEncodingName:nilbaseURL:nil];

[self.view addSubview:webView];

[webView release];

2.将gif图片分解成多张png图片,使用UIImageView播放。

代码如下:

UIImageView *gifImageView = [[UIImageView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

NSArray*gifArray = [NSArrayarrayWithObjects:[UIImageimageNamed:@"1"],

[UIImageimageNamed:@"2"],

[UIImageimageNamed:@"3"],

[UIImageimageNamed:@"4"],

[UIImageimageNamed:@"5"],

[UIImageimageNamed:@"6"],

[UIImageimageNamed:@"7"],

[UIImageimageNamed:@"8"],

[UIImageimageNamed:@"9"],

[UIImageimageNamed:@"10"],

[UIImageimageNamed:@"11"],

[UIImageimageNamed:@"12"],

[UIImageimageNamed:@"13"],

[UIImageimageNamed:@"14"],

[UIImageimageNamed:@"15"],

[UIImageimageNamed:@"16"],

[UIImageimageNamed:@"17"],

[UIImageimageNamed:@"18"],

[UIImageimageNamed:@"19"],

[UIImageimageNamed:@"20"],

[UIImageimageNamed:@"21"],

[UIImageimageNamed:@"22"],nil];

gifImageView.animationImages = gifArray;//动画图片数组

gifImageView.animationDuration =5;//执行一次完整动画所需的时长

gifImageView.animationRepeatCount =1;//动画重复次数

[gifImageView startAnimating];

[self.view addSubview:gifImageView];

[gifImageView release];

相关文章

网友评论

      本文标题:gif动画

      本文链接:https://www.haomeiwen.com/subject/rxoplttx.html