Xcode iPhone SDK - 在应用程序启动时显示gif图像

时间:2012-05-10 16:25:01

标签: xcode ios5 gif

我目前在应用程序发布时使用gif转换的mp4视频,但使用视频停止播放音乐并且连接了播放设备时出现问题。

无论如何,我真正想要的是在应用程序发布时显示我的GIF。但是我似乎无法让gif“播放”它只显示一帧,我如何让它播放整个gif?

我目前的代码:

- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
// Show Animation;
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"Launch" ofType:@"mp4"]];
LaunchPlayer = [[MPMoviePlayerViewController alloc] 
                                                 initWithContentURL:url];
LaunchPlayer.view.frame = self.view.bounds;
LaunchPlayer.moviePlayer.movieSourceType = MPMovieSourceTypeFile;
LaunchPlayer.moviePlayer.controlStyle = MPMovieControlStyleNone;
LaunchPlayer.view.tag = 1;
[self.view addSubview:LaunchPlayer.view];
[LaunchPlayer.moviePlayer play];
[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(LaunchFinish) 
                                             name:@"MPMoviePlayerPlaybackDidFinishNotification"
                                           object:nil];
}

2 个答案:

答案 0 :(得分:6)

虽然我没有看到你发布的代码与使用.gif有什么关系,但它坚持第一帧,因为iOS不会运行动画.gif。但是,您可以将动画的每个帧导出为单独的图像,并像这样动画它们。

-(void) viewDidLoad
{

imageView.animationImages = [NSArray arrayWithObjects:    
                                    [UIImage imageNamed:@"myImageFrame1.gif"],
                                    [UIImage imageNamed:@"myImageFrame2.gif"],
                                    [UIImage imageNamed:@"myImageFrame3.gif"],
                                    [UIImage imageNamed:@"myImageFrame4.gif"], nil];


    imageView.animationDuration = 2.0; 
    imageView.animationRepeatCount = 0; 
    [imageView startAnimating]; 

}

答案 1 :(得分:5)

在我的小例子里。我使用了一个名为webView的UIWEBVIEW,并将spin-loader.gif添加为资源。只要添加了图像,我就可以将它放在项目的任何位置。这显示了gif以及使其具有生命力。希望这会有所帮助。

NSString *pathImg = [[NSBundle mainBundle] pathForResource:@"spinning-loader" ofType:@"gif"];
NSString* webViewContent = [NSString stringWithFormat:
                            @"<html><body><img style='width:85;height:85;' src=\"file://%@\" /></body></html>", pathImg];
[webView loadHTMLString:webViewContent baseURL:nil];

webView.scrollView.bounces = NO;
webView.scrollView.scrollEnabled = NO;
webView.opaque=FALSE;
[webView setBackgroundColor:[UIColor clearColor]];