iOS之引導頁UIImageView加載幀動畫(多張圖片)

最近寫了動態(tài)的引導界面横辆。連續(xù)幀動畫。這里我用的就是利用系統(tǒng)自帶的UIImageView的屬性animationImages進行動畫。

先看一下效果圖吧


imageView動畫 - 騰訊視頻

首先給大家看一下圖缕棵。


既然是引導頁動畫,肯定要支持滾動涉兽。動畫呢 肯定是滑動當前頁開始動畫招驴。

定義一個UIImageView對象和一個UIScrollView對象 ?繼承UIScrollViewDelegate

#import "IndingController.h"

@interface IndingController ()<UIScrollViewDelegate>

@property(nonatomic,strong) UIImageView *imagevView;

@property(nonatomic,strong) UIScrollView *scrolloeView;

{

//創(chuàng)建一個大數(shù)組底層圖片數(shù)組

NSMutableArray *bigArrayImg;

//創(chuàng)一個添加動態(tài)圖的數(shù)組

NSMutableArray *images;

}

初始化scrolloeView

self.scrolloeView = [[UIScrollView alloc]init];

self.scrolloeView.delegate = self;

self.scrolloeView.frame = self.view.bounds;

//設置滾動的內容尺寸

self.scrolloeView.contentSize=CGSizeMake(Main_Screen_Width*5, 0);

self.scrolloeView.showsHorizontalScrollIndicator=NO;

self.scrolloeView.pagingEnabled=YES;

self.scrolloeView.bounces=NO;

[self.view addSubview:self.scrolloeView];


//初始化數(shù)組 這個數(shù)組裝的是某一張的imagevView動畫加載完成的背景圖 如果沒有背景圖 ?動畫加載完畢就會顯示黑屏,

bigArrayImg = [NSMutableArray arrayWithObjects:@"guide0_29",@"guide1_29",@"guide2_29",@"guide3_29",@"guide4_29", nil];

///創(chuàng)建imageView動畫

寫一個調用方法

- (void)createPngAnimal

{

//scrolloeView上滑動的張數(shù)=bigArrayImg.count枷畏。

for (int i = 0; i< bigArrayImg.count; i++)

{

gifImageViewVCX = [[UIImageView alloc] init];

gifImageViewVCX.frame = CGRectMake(i*Main_Screen_Width, 0, Main_Screen_Width, Main_Screen_Height);

///一定先給每張圖設置好背景圖片别厘,不然動畫加載完畢會黑屏?

gifImageViewVCX.image = [UIImage imageNamed:bigArrayImg[i]];

//一定要給imageview設置tag值 方便滾動的時候能找到相對應的圖片進行動畫

gifImageViewVCX.tag = (i + 1) * 100;

//初始化存儲動態(tài)圖每一幀的圖片數(shù)組

arrayimg = [[NSMutableArray alloc]init];

//因為我每個動畫是30張圖 所以直接<30.

for (int k = 0; k< 30; k++)

{

NSString *imageStr = [NSString stringWithFormat:@"guide%i_%i",i,k];

UIImage *image = [UIImage imageNamed:imageStr];

//將image對象存到arrayimg數(shù)組

[arrayimg addObject:image];

}

//animationImages是UIImageView的屬性 它的返回值是裝UIImage對象的數(shù)組。

gifImageViewVCX.animationImages = arrayimg; //獲取Gif圖片列表

gifImageViewVCX.animationDuration = 1.5f;? ? //執(zhí)行一次完整動畫所需的時長

gifImageViewVCX.animationRepeatCount = 1;? //動畫重復次數(shù)

[self.scrolloeView addSubview:gifImageViewVCX];

}

}

上面只是賦好值了 并沒有讓它動畫 真的動畫的是在scrollview的代理方法里

//scrollView結束滾動的代理方法

-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView

{

CGFloat offsetX = scrollView.contentOffset.x;

double page = offsetX/scrollView.frame.size.width;

//獲取滾動視圖的當前界面

self.pageControl.currentPage = page;

//將imageView的tag值與滾動視圖的值相對應 這樣就能找到滾動的是那個界面 ?應該哪個界面開始動畫

NSInteger nsInteger = (NSInteger)((page + 1) * 100);

//調用開始動畫方法

[self playAnimation:nsInteger];

}

//開始動畫

-(void)playAnimation:(NSInteger)page

{

UIImageView *newImageView = [self.scrolloeView viewWithTag:page];

if (newImageView != nil)

{

//開始動畫

[newImageView startAnimating];

}

}


這樣還不行拥诡!因為動畫是在scrollView的代理方法執(zhí)行的 ?剛進入界面是沒有調用的丹允。

所以要根據你的tag值在viewdidload方法里再調用開始動畫這個方法

- (void)viewDidLoad

{

[super viewDidLoad];

//調用imageView

[self createPngAnimal];

//開始動畫 因為我第一組圖片的tag值是100 所以我傳了100。

[self playAnimation:100];

}

如有錯誤還請大神指點一二袋倔。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末雕蔽,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子宾娜,更是在濱河造成了極大的恐慌批狐,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件前塔,死亡現(xiàn)場離奇詭異嚣艇,居然都是意外死亡,警方通過查閱死者的電腦和手機华弓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進店門食零,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人寂屏,你說我怎么就攤上這事贰谣∧嚷В” “怎么了?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵吱抚,是天一觀的道長百宇。 經常有香客問我,道長秘豹,這世上最難降的妖魔是什么携御? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮既绕,結果婚禮上啄刹,老公的妹妹穿的比我還像新娘。我一直安慰自己凄贩,他們只是感情好鸵膏,可當我...
    茶點故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著怎炊,像睡著了一般谭企。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上评肆,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天债查,我揣著相機與錄音,去河邊找鬼瓜挽。 笑死盹廷,一個胖子當著我的面吹牛,可吹牛的內容都是我干的久橙。 我是一名探鬼主播俄占,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼淆衷!你這毒婦竟也來了缸榄?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤祝拯,失蹤者是張志新(化名)和其女友劉穎甚带,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體佳头,經...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡鹰贵,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了康嘉。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片碉输。...
    茶點故事閱讀 39,992評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖亭珍,靈堂內的尸體忽然破棺而出敷钾,到底是詐尸還是另有隱情枝哄,我是刑警寧澤,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布闰非,位于F島的核電站膘格,受9級特大地震影響峭范,放射性物質發(fā)生泄漏财松。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一纱控、第九天 我趴在偏房一處隱蔽的房頂上張望辆毡。 院中可真熱鬧,春花似錦甜害、人聲如沸舶掖。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽眨攘。三九已至,卻和暖如春嚣州,著一層夾襖步出監(jiān)牢的瞬間鲫售,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工该肴, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留情竹,地道東北人。 一個月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓匀哄,卻偏偏與公主長得像秦效,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子涎嚼,可洞房花燭夜當晚...
    茶點故事閱讀 44,947評論 2 355

推薦閱讀更多精彩內容