iOS App啟動(dòng)圖--動(dòng)畫

從體驗(yàn)方面來看忠荞,一個(gè)好的App的啟動(dòng)圖會(huì)給軟件增色不少蒋歌,給App加啟動(dòng)圖,成本也不大委煤,這篇文章堂油,就來實(shí)現(xiàn)一下啟動(dòng)圖動(dòng)畫效果,東西不多碧绞,僅App啟動(dòng)圖+動(dòng)畫府框,下面馬上開始

啟動(dòng)圖

分兩步
第一步,新建一個(gè)工程讥邻,里面會(huì)有LaunchScreen.storyboard這個(gè)文件迫靖,他就是為了方便我們?cè)O(shè)置啟動(dòng)圖的院峡。選擇一張合適的尺寸的圖片,拖入到項(xiàng)目中系宜,建議最好用PNG格式的照激。
LaunchScreen.storyboard中拖入一個(gè)UIImageView控件,做好約束盹牧,然后設(shè)置剛剛拖入的圖片


第二步俩垃,設(shè)置設(shè)置啟動(dòng)圖見下圖

這樣啟動(dòng)圖就設(shè)置好了

啟動(dòng)動(dòng)畫

LaunchScreen.storyboard也就是啟動(dòng)圖是最先展示給用戶的,然后才能是啟動(dòng)動(dòng)畫汰寓。我們知道軟件啟動(dòng)完成就會(huì)走Appdelegate的代理方法
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
所以只要在這個(gè)方法中實(shí)現(xiàn)動(dòng)畫效果就可以了口柳。

思路:展示啟動(dòng)圖后,馬上展示另外一張圖片有滑,并且這張圖片在5秒內(nèi)放大1.5倍跃闹,然后在2秒內(nèi)消失。右上角放一個(gè)跳過按鈕毛好,顯示倒計(jì)時(shí)

寫代碼的地方知道了辣卒,思路也知道了,直接上代碼
先定義一個(gè)宏

#define timeIntence 5.0//圖片放大的時(shí)間

添加按鈕和圖片

    //使主窗口顯示到屏幕的最前端
    [self.window makeKeyAndVisible];
    //獲取中心點(diǎn)的xy坐標(biāo)
    float y = [UIScreen mainScreen].bounds.size.height/2;
    float x = [UIScreen mainScreen].bounds.size.width/2;
    //創(chuàng)建展示動(dòng)畫的imageView
    self.imageView = [[UIImageView alloc] initWithFrame:[UIScreen mainScreen].bounds];
    self.imageView.center = CGPointMake(x, y);
    self.imageView.userInteractionEnabled = YES;
    self.imageView.image = [UIImage imageNamed:@"啟動(dòng)圖.jpg"];
    [self.window addSubview:self.imageView];
    [self.window bringSubviewToFront:self.imageView];
    //添加一個(gè)跳過按鈕
    self.skipButton = [UIButton buttonWithType:(UIButtonTypeCustom)];
    self.skipButton.frame = CGRectMake(2*x - 80, 40, 70, 25);
    self.skipButton.layer.cornerRadius = 12.5;
    self.skipButton.titleLabel.font = [UIFont systemFontOfSize:13];
    [self.skipButton setTitleColor:[UIColor whiteColor] forState:(UIControlStateNormal)];
    self.skipButton.backgroundColor = [UIColor grayColor];
    [self.skipButton addTarget:self action:@selector(skipAction:) forControlEvents:(UIControlEventTouchUpInside)];
    [self.window addSubview:self.skipButton];

按鈕倒計(jì)時(shí)用到了一個(gè)庫睛榄,需要引入頭文件

#import<libkern/OSAtomic.h>

實(shí)現(xiàn)按鈕的倒計(jì)時(shí)

//跳過按鈕的倒計(jì)時(shí)
    __block int32_t timeOutCount=timeIntence;
    dispatch_source_t timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, dispatch_get_main_queue());
    dispatch_source_set_timer(timer, DISPATCH_TIME_NOW, 1ull * NSEC_PER_SEC, 0);
    dispatch_source_set_event_handler(timer, ^{
        OSAtomicDecrement32(&timeOutCount);
        if (timeOutCount == 0) {
            NSLog(@"timersource cancel");
            dispatch_source_cancel(timer);
        }
        [self.skipButton setTitle:[NSString stringWithFormat:@"%d 跳過",timeOutCount+1] forState:(UIControlStateNormal)];
    });
    dispatch_source_set_cancel_handler(timer, ^{
        NSLog(@"timersource cancel handle block");
    });
    dispatch_resume(timer);

圖片放大和消失動(dòng)畫

    //圖片放大動(dòng)畫
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:timeIntence];
    self.imageView.transform = CGAffineTransformScale(CGAffineTransformIdentity, 1.5f, 1.5f);
    [UIView commitAnimations];
    //圖片消失動(dòng)畫
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(timeIntence * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
        [UIView animateWithDuration:2 animations:^{
            self.imageView.alpha = 0;
            self.skipButton.alpha = 0;
        }];
    });
    //所有動(dòng)畫完成荣茫,刪除圖片和按鈕
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)((timeIntence + 2.0) * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
        [self.imageView removeFromSuperview];
        [self.skipButton removeFromSuperview];
    });
//點(diǎn)擊跳過按鈕,刪除圖片和按鈕
-(void)skipAction:(UIButton*)sender{
    [self.imageView removeFromSuperview];
    [self.skipButton removeFromSuperview];
}

到此所有代碼都寫完了场靴,是不是很簡(jiǎn)單,再附上demo下載地址
點(diǎn)擊下載DEMO

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末啡莉,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子旨剥,更是在濱河造成了極大的恐慌咧欣,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,807評(píng)論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件轨帜,死亡現(xiàn)場(chǎng)離奇詭異魄咕,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)蚌父,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,284評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門哮兰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人苟弛,你說我怎么就攤上這事喝滞。” “怎么了膏秫?”我有些...
    開封第一講書人閱讀 169,589評(píng)論 0 363
  • 文/不壞的土叔 我叫張陵右遭,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我,道長(zhǎng)窘哈,這世上最難降的妖魔是什么吹榴? 我笑而不...
    開封第一講書人閱讀 60,188評(píng)論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮滚婉,結(jié)果婚禮上图筹,老公的妹妹穿的比我還像新娘。我一直安慰自己满哪,他們只是感情好婿斥,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,185評(píng)論 6 398
  • 文/花漫 我一把揭開白布劝篷。 她就那樣靜靜地躺著哨鸭,像睡著了一般。 火紅的嫁衣襯著肌膚如雪娇妓。 梳的紋絲不亂的頭發(fā)上像鸡,一...
    開封第一講書人閱讀 52,785評(píng)論 1 314
  • 那天,我揣著相機(jī)與錄音哈恰,去河邊找鬼只估。 笑死,一個(gè)胖子當(dāng)著我的面吹牛着绷,可吹牛的內(nèi)容都是我干的蛔钙。 我是一名探鬼主播,決...
    沈念sama閱讀 41,220評(píng)論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼荠医,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼吁脱!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起彬向,我...
    開封第一講書人閱讀 40,167評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤兼贡,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后娃胆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體遍希,經(jīng)...
    沈念sama閱讀 46,698評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,767評(píng)論 3 343
  • 正文 我和宋清朗相戀三年里烦,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了凿蒜。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,912評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡胁黑,死狀恐怖篙程,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情别厘,我是刑警寧澤虱饿,帶...
    沈念sama閱讀 36,572評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響氮发,放射性物質(zhì)發(fā)生泄漏渴肉。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,254評(píng)論 3 336
  • 文/蒙蒙 一爽冕、第九天 我趴在偏房一處隱蔽的房頂上張望仇祭。 院中可真熱鬧,春花似錦颈畸、人聲如沸乌奇。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,746評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽礁苗。三九已至,卻和暖如春徙缴,著一層夾襖步出監(jiān)牢的瞬間试伙,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,859評(píng)論 1 274
  • 我被黑心中介騙來泰國打工于样, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留疏叨,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,359評(píng)論 3 379
  • 正文 我出身青樓穿剖,卻偏偏與公主長(zhǎng)得像蚤蔓,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子糊余,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,922評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫秀又、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,125評(píng)論 4 61
  • 來個(gè)大整容 app在橫屏狀態(tài)下是不顯示iPhone的狀態(tài)欄的(就是有個(gè)小電池的那一欄)啄刹,除非你強(qiáng)制app這樣做涮坐。這...
    Billionfan閱讀 3,984評(píng)論 8 9
  • 親子日記第二十三篇 楊婷婷 2007年6月1日 星期四 天氣晴 今天是屬于你的節(jié)日。首先祝你節(jié)日快...
    ytt木子閱讀 255評(píng)論 2 1
  • 上午吃過早飯換小船去游覽神農(nóng)溪誓军,雨已基本停了袱讹,只是溫度很低,江面上風(fēng)一吹尤其冷昵时,六月的天氣捷雕,冷得這樣也算是難得...
    蘇州的薔薇花開閱讀 796評(píng)論 3 2
  • 準(zhǔn)備食材 主料:西蘭花適量、胡蘿卜半根壹甥、彩椒一個(gè)救巷、雞蛋四個(gè)、 輔料:牛奶半袋句柠、鹽巴少許 做法步驟 1浦译、胡蘿卜棒假、彩椒...
    美食美佳客閱讀 282評(píng)論 0 1