我只想在我的应用程序中添加一个动画文件。
我读过的大部分帖子都是使用UIImageViews或多个图像的集合。我不想那样做。
我只想知道哪些动画文件格式适用于iOS(我知道.gif
和.swf
无法在iOS上运行)。
还有其他任何文件格式,我可以在我的应用程序中使用或者让我知道是否有其他框架可以使用动画文件。
答案 0 :(得分:2)
你可以使用gif。您需要在UIWebView
内显示。
答案 1 :(得分:2)
我们无法使用像.gif,.swf这样的动画文件,因为苹果不允许我们使用。如果你想动画图像,就这样做。
UIImageView* campFireView = [[UIImageView alloc] initWithFrame:self.view.frame];
// load all the frames of our animation
campFireView.animationImages = [NSArray arrayWithObjects:
[UIImage imageNamed:@"campFire01.png"],
[UIImage imageNamed:@"campFire02.png"],
[UIImage imageNamed:@"campFire03.png"],
[UIImage imageNamed:@"campFire04.png"],
[UIImage imageNamed:@"campFire05.png"],
[UIImage imageNamed:@"campFire06.png"],
[UIImage imageNamed:@"campFire07.png"],
[UIImage imageNamed:@"campFire08.png"],
[UIImage imageNamed:@"campFire09.png"],
[UIImage imageNamed:@"campFire10.png"],
[UIImage imageNamed:@"campFire11.png"],
[UIImage imageNamed:@"campFire12.png"],
[UIImage imageNamed:@"campFire13.png"],
[UIImage imageNamed:@"campFire14.png"],
[UIImage imageNamed:@"campFire15.png"],
[UIImage imageNamed:@"campFire16.png"],
[UIImage imageNamed:@"campFire17.png"], nil];
// all frames will execute in 1.75 seconds
campFireView.animationDuration = 1.75;
// repeat the annimation forever
campFireView.animationRepeatCount = 0;
// start animating
[campFireView startAnimating];
// add the animation view to the main window
[self.view addSubview:campFireView];
或查看该链接www.appsamuck.com/day2.html
答案 2 :(得分:1)
默认情况下,GIF无法在UIImageView中正确设置动画。但是,只需稍加努力就可以让它们发挥作用。
这个项目看起来最有希望,因为它似乎实际上解码了gif并为你显示个人帧。
https://github.com/arturogutierrez/Animated-GIF-iPhone/
否则,我见过的其他解决方案就是你提到的。 (手动将gif分成多个图像)
http://www.alterplay.com/ios-dev-tips/2010/12/making-gif-animating-on-ios.html
答案 3 :(得分:0)
您可以将cocos2D用于此动画。与CCSpriteSheet一起使用。