需求:打開軟件有個(gè)動(dòng)畫效果.
用到的框架:KKSequenceImageView-不錯(cuò)的GIF處理工具
思路:創(chuàng)建ImageView 加載GIF動(dòng)畫或者連續(xù)圖片. --> 添加到Window.-->完成后清除.
步驟:
1.導(dǎo)入頭文件
#import "KKSequenceImageView.h"
2.創(chuàng)建ImageView
@implementation AppDelegate
{
KKSequenceImageView* imageView;
}
3.開始初始化并設(shè)置參數(shù)
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
/** makeKeyAndVisible */
[self.window makeKeyAndVisible];
/** 初始化imageView */
imageView = [[KKSequenceImageView alloc] initWithFrame:CGRectMake(0, 0, self.window.screen.bounds.size.width,self.window.screen.bounds.size.height)];
NSMutableArray* images = [NSMutableArray array];
/** 加載圖片 */
for (int i = 1; i <= 90; i++)
{
NSString *path = [[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"圖層 %d",i] ofType:@"png"];
if (path.length) {
[images addObject:path];
}
}
/** 設(shè)置參數(shù) */
imageView.imagePathss = images;
imageView.durationMS = images.count * 60;
imageView.repeatCount = 1;
imageView.delegate = self;
/** 添加到window */
[_window addSubview:imageView];
[imageView begin];
return YES;
}
4.代理方法消除imageView
#pragma mark -- 代理方法
- (void)sequenceImageDidPlayCompeletion:(KKSequenceImageView *)imageView
{
/** 運(yùn)行完成--clean */
[imageView removeFromSuperview];
imageView = nil;
}
demo地址:GIF-demo
同時(shí)分享一個(gè)啟動(dòng)頁動(dòng)畫框架:XHLaunchAd
有些人說為什么不直接加載GIF圖片,這里我想說明一下,主要是當(dāng)加載GIF圖片的時(shí)候會(huì)導(dǎo)致CPU暴增而導(dǎo)致卡頓,還有找到優(yōu)化的CPU的框架但是也會(huì)導(dǎo)致內(nèi)存暴增,所以我在之前也試了很多框架和方法,就這個(gè)是我總結(jié)的比較好的方法了,大家如果不信的話,可以自己業(yè)余時(shí)間玩一下.