原本只要播放影片檔就好,然而合作公司的Android工程師說他無法處理影片,於是改用播放一連串影像。
原來沒有想像中難,先把圖檔丟到陣列去,再呼叫方法開始播放影像為動畫!當然還可以有其它屬性可以調整,像是背景顏色、動畫時間、重播次數等等。
-(void)displayImage
{
self.imageArr = [NSMutableArray array];
NSString *prefixStr = @"happyimage00";
NSString *suffixStr = @".png";
NSString *allStr;
for (int i=1; i<=100; i+=5) {
if (i < 10) {
allStr = [[prefixStr stringByAppendingFormat:@"0%i",i] stringByAppendingString:suffixStr];
}
else {
allStr = [[prefixStr stringByAppendingFormat:@"%i",i] stringByAppendingString:suffixStr];
}
[self.imageArr addObject:[UIImage imageNamed:allStr]];
}
self.cardAnimationImage.backgroundColor = [UIColor clearColor];
self.cardAnimationImage.animationImages = self.imageArr;
self.cardAnimationImage.animationDuration = 5;
self.cardAnimationImage.animationRepeatCount = 1;
[self.cardAnimationImage startAnimating];
[NSTimer scheduledTimerWithTimeInterval:6 target:self selector:@selector(nextView) userInfo:nil repeats:NO];
}
上述程式碼總共載入100張圖檔,圖檔名稱最好一致,我用前綴和後綴再加上中間數字來讀檔,接著將圖檔放入預定的陣列中,設定好想要的效果之後,即可開始播放動畫囉~
跟老闆反應播放動畫前會花3秒時間載入圖片,如此會讓使用者體驗變糟糕,於是他建議用跳的方式載入圖片,才會有i+=5這樣子的做法,意思是每隔五張圖片。圖檔未解壓縮時就高達15MB,也難怪會lag幾秒後才播放:P~
參考:Animation using array of images in sequence、Core Graphic 的多張圖片動畫。
Comments on: "[iOS] 播放影像 (Display Image)" (1)
這時候要做TabBar星光閃動畫~
讚讚