[譯]《Motion Design for iOS》(三十五)

如果你仔細(xì)觀察原始的動(dòng)畫,會(huì)發(fā)現(xiàn)有8個(gè)分開動(dòng)畫的不同元素袱院。

  1. 黑色箭頭和“Dance Club”文本
  2. “Ministry of Fun”文本
  3. “Add a Song”按鈕
  4. 五首歌對應(yīng)的五行

這8個(gè)元素(或元素組汪疮,因?yàn)榧^和“Dance Club”文本是一起動(dòng)畫的)是通過不同的開始時(shí)間遞進(jìn)進(jìn)入視圖的吱殉,這就是我們要在動(dòng)畫中獲取的非秤嗑常酷的波浪感效果燎竖。

首先我們整理一下計(jì)劃灶壶。我需要做的是分開添加這些元素到界面上陕靠,這樣我就可以分開動(dòng)畫它們了喳坠。如果這是一個(gè)真實(shí)的app鞠评,有著真實(shí)流入的數(shù)據(jù),這個(gè)界面最可能是一個(gè)UITableView或者UICollectionView來獲取一個(gè)好的壕鹉、結(jié)構(gòu)化的展示行的方式剃幌。從高層面來概括這兩個(gè)視圖類型的話,就是你實(shí)現(xiàn)你需要定義的它們的接口方法晾浴,來返回一些數(shù)據(jù)到界面上负乡,比如返回行高的方法,或者返回一個(gè)只有一行的視圖的方法脊凰。因?yàn)槲覀儧]有數(shù)據(jù)抖棘,而且我的主要目的是演示如何構(gòu)建動(dòng)畫,我就僅僅是保存一些Photoshop里設(shè)計(jì)的圖片并手動(dòng)將這些圖片添加到界面上去狸涌,從頂部的箭頭和“Dance Club”文本開始切省。

// 定義一個(gè)變量來獲取屏幕的寬度,我們會(huì)經(jīng)常用到這個(gè)值帕胆。
CGFloat windowWidth = self.window.bounds.size.width;

// 將背景添加到界面上
UIImageView *backgroundView = [[UIImageView alloc] initWithFrame:self.window.bounds];
backgroundView.image = [UIImage imageNamed:@"background"];
[self.window addSubview:backgroundView];

// 添加箭頭和文本
UIImageView *arrowView =
    [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, windowWidth, 45)];
arrowView.image = [UIImage imageNamed:@"arrow"];
[self.window addSubview:arrowView];

這里沒什么特別的朝捆,只是簡單地添加一些視圖到我們原型的主屏幕上。名為@“background”的圖片是大的漸變的圖片懒豹,作為其他視圖的背景右蹦。@“arrow”圖片是用Photoshop做出來的包含箭頭和“Dance Club”文本的圖片,因?yàn)槲視?huì)同時(shí)動(dòng)畫它們歼捐,所以將它們簡單地放在一個(gè)圖片里何陆。

這里是目前界面看起來的樣子。


image

現(xiàn)在讓我們添加更多的視圖豹储!

// “Ministry of Fun”圖片
UIImageView *ministryView =
    [[UIImageView alloc] initWithFrame:CGRectMake(0, 57, windowWidth, 28)];
ministryView.image = [UIImage imageNamed:@"ministry"];
[self.window addSubview:ministryView];

// 添加一個(gè)歌曲按鈕
UIButton *addButton = [UIButton buttonWithType:UIButtonTypeCustom];
[addButton setImage:[UIImage imageNamed:@"add-button"] forState:UIControlStateNormal];
[addButton setImage:[UIImage imageNamed:@"add-button-pressed"]
    forState:UIControlStateHighlighted];
[addButton setFrame:CGRectMake(0, 102, windowWidth, 45)];
[self.window addSubview:addButton];

我添加“Ministry of Fun”圖片視圖(使用我用Photoshop分割出來的PNG圖片)到界面上然后為“Add a Song”按鈕創(chuàng)建一個(gè)UIButton贷盲。我本可以懶一點(diǎn),不將按鈕做成一個(gè)真的UIButton,而是使用一個(gè)UIImageView巩剖,但我想演示如何為一個(gè)自定義的UIButton設(shè)置點(diǎn)擊的和普通的圖片铝穷。只需要調(diào)用同樣的一個(gè) -setImage:forState:方法,但給它傳輸不同的屬性佳魔。你可以隨便調(diào)用它來設(shè)置不同的狀態(tài)屬性曙聂,來覆蓋用戶對按鈕的每一個(gè)可能的操作。接著我設(shè)置按鈕的位置并將它添加到界面上鞠鲜。

這里是目前狀態(tài)的界面宁脊,以及點(diǎn)擊按鈕時(shí)不同狀態(tài)的演示。


image

我們UIControlStateHighlighted狀態(tài)的圖片只是將白色邊框換成了白色的填充贤姆。

查看完整合集(喜歡請打星~):https://github.com/Cloudox/Motion-Design-for-iOS


查看作者首頁

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末榆苞,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子霞捡,更是在濱河造成了極大的恐慌坐漏,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,383評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件碧信,死亡現(xiàn)場離奇詭異赊琳,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)砰碴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評論 3 385
  • 文/潘曉璐 我一進(jìn)店門躏筏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人衣式,你說我怎么就攤上這事¢苁玻” “怎么了碴卧?”我有些...
    開封第一講書人閱讀 157,852評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長乃正。 經(jīng)常有香客問我住册,道長,這世上最難降的妖魔是什么瓮具? 我笑而不...
    開封第一講書人閱讀 56,621評論 1 284
  • 正文 為了忘掉前任荧飞,我火速辦了婚禮,結(jié)果婚禮上名党,老公的妹妹穿的比我還像新娘叹阔。我一直安慰自己,他們只是感情好传睹,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,741評論 6 386
  • 文/花漫 我一把揭開白布耳幢。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪睛藻。 梳的紋絲不亂的頭發(fā)上启上,一...
    開封第一講書人閱讀 49,929評論 1 290
  • 那天,我揣著相機(jī)與錄音店印,去河邊找鬼冈在。 笑死,一個(gè)胖子當(dāng)著我的面吹牛按摘,可吹牛的內(nèi)容都是我干的包券。 我是一名探鬼主播,決...
    沈念sama閱讀 39,076評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼院峡,長吁一口氣:“原來是場噩夢啊……” “哼兴使!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起照激,我...
    開封第一講書人閱讀 37,803評論 0 268
  • 序言:老撾萬榮一對情侶失蹤发魄,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后俩垃,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體励幼,經(jīng)...
    沈念sama閱讀 44,265評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,582評論 2 327
  • 正文 我和宋清朗相戀三年口柳,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了苹粟。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,716評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡跃闹,死狀恐怖嵌削,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情望艺,我是刑警寧澤苛秕,帶...
    沈念sama閱讀 34,395評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站找默,受9級特大地震影響艇劫,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜惩激,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,039評論 3 316
  • 文/蒙蒙 一店煞、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧风钻,春花似錦顷蟀、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春毛萌,著一層夾襖步出監(jiān)牢的瞬間苟弛,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評論 1 266
  • 我被黑心中介騙來泰國打工阁将, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留膏秫,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,488評論 2 361
  • 正文 我出身青樓做盅,卻偏偏與公主長得像缤削,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子吹榴,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,612評論 2 350

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

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫亭敢、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,066評論 4 62
  • 內(nèi)容抽屜菜單ListViewWebViewSwitchButton按鈕點(diǎn)贊按鈕進(jìn)度條TabLayout圖標(biāo)下拉刷新...
    皇小弟閱讀 46,733評論 22 665
  • 原文鏈接:https://github.com/opendigg/awesome-github-android-u...
    IM魂影閱讀 32,917評論 6 472
  • 當(dāng)巴薩在歐冠遇上尤文的時(shí)候图筹,很多人關(guān)注的不是布馮和梅西帅刀,而是蘇亞雷斯和基耶利尼,那一刻仿佛回到2014年的巴西世界...
    足球集閱讀 225評論 0 1
  • 還是不懂远剩。也許走才是最后的理由扣溺。 再來的路上一直默默地守候。 到底錯(cuò)了瓜晤。 不是喜歡也不是愛锥余。沉默帶走的...
    梧桐雨工作坊閱讀 210評論 0 0