IOS動畫 SIide+滾動條

1需求

需要弄一個下圖的動畫漓藕。先認(rèn)真看一下動畫陶珠。慢慢的看。注意我為什么在中間停那么久享钞。揍诽。。嫩与。寝姿。。

小動畫

2分析需求

當(dāng)silde條在左右滑動的時候划滋,上面的動畫在不停的左右移動饵筑,我錄制視頻的時候在中間點(diǎn)稍微停頓了一下。其實(shí)就是一個三角形处坪,這個三角形的頂點(diǎn)在一個"倒置的V字"上面運(yùn)動根资。


其實(shí)只需要找到頂點(diǎn)的位置,就可以簡單的將動畫繪制出來同窘。下面是demo的下載地址:github.com/hnustJoe/sildeAnimate


3實(shí)現(xiàn)步驟

(1):這里需要用到一些CAlayer的基礎(chǔ)知識玄帕,有關(guān)CALayer的兩個屬性,我簡單的講一下:

anchorPoint:錨點(diǎn)想邦,想象一下一個點(diǎn)將一張A4紙掛在墻上裤纹。

position:就是上面錨點(diǎn)的位置。

沒有看懂的笨蛋們可以看一下這位大神寫的:iOS開發(fā)-CALayer的探究應(yīng)用 - CocoaChina_讓移動開發(fā)更簡單

現(xiàn)在需要在自定義視圖的UIView(代碼中的BCView)上添加一個自定義的CALayer(AnimateLayer);至于為什么要兩個自定義鹰椒,我也沒有具體去分析锡移,我得給自己留點(diǎn)問題。

順便說一下這個slide漆际,我是通過silde的值的變化來繪制動畫淆珊,然后在自定義的AnimateLayer中設(shè)置一個對外的progress屬性。我就可以通過改變屬性來繪制動畫奸汇。

通過改變silde值的變化來進(jìn)行動畫的繪制

(2)為什么要設(shè)置一個progress屬性呢施符?其實(shí)這個progress屬性就是上面提到的運(yùn)動的頂點(diǎn)(也就是我一直強(qiáng)調(diào)的那個點(diǎn)!)擂找。所以通過每次progress的屬性的改變戳吝,來計算好頂點(diǎn)的位置來重新畫圖。現(xiàn)在婴洼,設(shè)置一下自定義的Calyer的progress設(shè)置方法:

自定義Calyer的progress設(shè)置方法

(3)我覺得是最重要的一個步驟

繪制三角形骨坑,這其實(shí)也不算三角形,我把它看成兩條線斷柬采,左邊藍(lán)色的欢唾,和右邊灰色的。先繪制藍(lán)色的還是先繪制灰色的粉捻,大家可以都去試一下礁遣。

既然是繪制兩條線斷,那么就需要找出那個特殊的點(diǎn)肩刃!我在代碼中使用middleX祟霍,middleY來標(biāo)志中標(biāo)示這個特殊的點(diǎn)的橫縱坐標(biāo)。其中要把0.5這個間隔分割開來盈包,這得留給大家去思考沸呐。其中middleX和MiddleY怎么計算,最好自己去算一下呢燥。

我是先繪制右邊的崭添,然后再繪制左邊。

繪圖代碼

最后簡單的說一下我對CGMutablePathRef畫線的理解叛氨。先告訴畫布說:我要畫一條線-》將筆尖在畫布上面打兩個點(diǎn)-》打完點(diǎn)以后就再告訴畫布:線的顏色呼渣。。寞埠。端點(diǎn)的形式屁置。。仁连。線條的寬度蓝角。。。-》好使鹅!stokepath(封閉線路)F南蟆!并徘!。

附加

1感謝這位大神的博文:iOS開發(fā)-CALayer的探究應(yīng)用 - CocoaChina_讓移動開發(fā)更簡單

2大家伙有什么疑問的可以給我評論扰魂。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末麦乞,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子劝评,更是在濱河造成了極大的恐慌姐直,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,729評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蒋畜,死亡現(xiàn)場離奇詭異声畏,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)姻成,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,226評論 3 399
  • 文/潘曉璐 我一進(jìn)店門插龄,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人科展,你說我怎么就攤上這事均牢。” “怎么了才睹?”我有些...
    開封第一講書人閱讀 169,461評論 0 362
  • 文/不壞的土叔 我叫張陵徘跪,是天一觀的道長。 經(jīng)常有香客問我琅攘,道長垮庐,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,135評論 1 300
  • 正文 為了忘掉前任坞琴,我火速辦了婚禮哨查,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘置济。我一直安慰自己解恰,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,130評論 6 398
  • 文/花漫 我一把揭開白布浙于。 她就那樣靜靜地躺著护盈,像睡著了一般。 火紅的嫁衣襯著肌膚如雪羞酗。 梳的紋絲不亂的頭發(fā)上腐宋,一...
    開封第一講書人閱讀 52,736評論 1 312
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼胸竞。 笑死欺嗤,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的卫枝。 我是一名探鬼主播煎饼,決...
    沈念sama閱讀 41,179評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼校赤!你這毒婦竟也來了吆玖?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,124評論 0 277
  • 序言:老撾萬榮一對情侶失蹤马篮,失蹤者是張志新(化名)和其女友劉穎沾乘,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體浑测,經(jīng)...
    沈念sama閱讀 46,657評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡翅阵,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,723評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了迁央。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片掷匠。...
    茶點(diǎn)故事閱讀 40,872評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖漱贱,靈堂內(nèi)的尸體忽然破棺而出槐雾,到底是詐尸還是另有隱情,我是刑警寧澤幅狮,帶...
    沈念sama閱讀 36,533評論 5 351
  • 正文 年R本政府宣布募强,位于F島的核電站,受9級特大地震影響崇摄,放射性物質(zhì)發(fā)生泄漏擎值。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,213評論 3 336
  • 文/蒙蒙 一逐抑、第九天 我趴在偏房一處隱蔽的房頂上張望鸠儿。 院中可真熱鬧,春花似錦厕氨、人聲如沸进每。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,700評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽田晚。三九已至,卻和暖如春国葬,著一層夾襖步出監(jiān)牢的瞬間贤徒,已是汗流浹背芹壕。 一陣腳步聲響...
    開封第一講書人閱讀 33,819評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留接奈,地道東北人踢涌。 一個月前我還...
    沈念sama閱讀 49,304評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像序宦,于是被迫代替她去往敵國和親睁壁。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,876評論 2 361

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

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,332評論 25 707
  • 在iOS中隨處都可以看到絢麗的動畫效果互捌,實(shí)現(xiàn)這些動畫的過程并不復(fù)雜堡僻,今天將帶大家一窺ios動畫全貌。在這里你可以看...
    每天刷兩次牙閱讀 8,516評論 6 30
  • 書寫的很好疫剃,翻譯的也棒!感謝譯者硼讽,感謝感謝巢价! iOS-Core-Animation-Advanced-Techni...
    錢噓噓閱讀 2,303評論 0 6
  • 說實(shí)在的,當(dāng)童老師讓我寫這篇感悟時固阁,我的內(nèi)心是拒絕的壤躲,一是覺得自己應(yīng)用得并不是很好,還差得很遠(yuǎn)备燃;二是一直以來覺得自...
    蜻蜓_95ff閱讀 459評論 0 0
  • “嘩啦嘩啦”突然聽到一大串鑰匙的聲音碉克,些許懷念。 對于我而言并齐,小時候鑰匙是爸爸回家的識別漏麦。小時候,爸...
    ROSE_e0e7閱讀 204評論 0 0