動畫

1> CALayer簡介

*PPT簡介

2>屬性和新建圖層

01-CALayer01-基本使用

掌握

怎么設置陰影:shadowOpacity,shadowRadius + 解釋圓角半徑 + 邊框 達到效果:太陽發光

比較特殊的View:UIImgeView + UIImageView圓角半徑 + 主層和contents + 裁剪 + 陰影無效,達到效果,圓形頭像

可以改變圖層的形變屬性:touchBegin

怎么旋轉圖層:給三維坐標系的點,與原點形成向量,繞著向量旋轉,加動畫演示旋轉效果

怎么利用KVC改變形變

KVC注意點:

1> 給對象的哪個屬性賦值,就寫到keyPath里面。

2> value的值一定是屬性的類型才行

如何快速二維旋轉:ketPath為transform.rotation

縮放注意:z軸不需要縮放,為1就好。

KVC的好處:利用KVC可以快速的進行二維旋轉和,寬,高同時縮放.

*講解順序 陰影 -> 圓角半徑 -> 邊框 -> -> UIImageView圓角半徑 ->transform -> KVC

02-CALayer02-新建圖層

掌握

怎么顯示自己的圖層,直接加到控制器view的圖層,還得設置位置和尺寸,背景。

怎么給layer設置圖片,設置contents:看頭文件,contents必須是CGImageRef,UIImage先轉CGImageRef在轉id。

為什么圖層要的圖片和顏色使用CoreGraphics框架,不直接用UIKit框架。PPT解釋CALayer的疑惑

圖層也可以顯示,為什么還要UIView,PPT解釋CALayer的選擇

*講解順序 創建圖層 -> 位置 -> 背景 -> 內容 -> CALayer疑惑 -> CALayer的選擇

3> 講解兩個非常重要的屬性position和anchorPoint錨點

掌握

什么是position

什么是anchorPoint,他的取值范圍,他在圖層的哪個位置,

*講解順序 PPT解釋 -> 注意點:0~1,1表示一個單位。 -> position設置圖層的位置 -> 一個圖層中很多點,哪個點移動到position.

4> 隱式動畫

03-CALayer03-隱式動畫

掌握:

只有非rootCalyer才有隱式動畫。

如何學習哪些屬性有隱式動畫,跳進CALayer頭文件,找animatable。

怎么演示隱式動畫,點擊屏幕就改變屬性。

怎么取消隱式動畫,每執行一個動畫,開啟一個事物CATransaction,只要setDisableActions等于YES就好

*講解順序 PPT解釋 -> 監聽控制器的點擊,點一下改變下屬性 -> 背景顏色,位置,邊框,圓角半徑

5> 時鐘-自定義圖層

程序思路:

* 了解時鐘由什么組成的,使用哪些控件。(UIImgeView,CALayer)

* 為什么不使用UIView,而使用CALayer,需要監聽事件嗎?

* 現實生活中秒針是怎么旋轉的,繞著時鐘的中點轉,PPT演示,拖一根秒針線條

* 在ios中默認是繞著中心點旋轉的,因為錨點默認在圖層的中點,要想繞著下邊中心點轉,需要改變圖層錨點的位置。

* 根據錨點,設置position坐標,為時鐘的中點。

* 思考秒針旋轉的角度,怎么知道當前秒針旋轉到哪,當前秒針旋轉的角度 = 當前秒數 * 每秒轉多少°。

1> 計算一秒轉多少°360*60=6

2> 獲取當前秒數,通過日歷對象,獲取日期組成成分 NSCalendar -> NSDateComponents -> 獲取當前秒數

* 每隔一秒,獲取最新秒數,更新時鐘。

* 分鐘一樣的做法

* 時鐘也一樣

1.每一分鐘,時鐘也需要旋轉,60分鐘 ->1小時 - >30°==》 每分鐘30/60.0一分鐘時針轉0.5°

* 把時針和秒針頭尾變尖,設置圓角半徑

6> 核心動畫01-CABasicAnimation

*PPT簡介

*Core Animation是直接作用在CALayer上的,并非UIView。

*Core Animation結構

*Core Animation 使用步驟

*代碼演示

* 創建CALayer

* touchBegin,點擊屏幕,做動畫

* 創建動畫,添加動畫到CALayer

* 怎樣執行動畫?執行動畫的本質是改變圖層的屬性。

* 告訴動畫執行怎樣的動畫?設置動畫屬性(position)

* 告訴動畫屬性怎么改變?設置動畫屬性值改變 toValue fromValue

* duration:動畫時長

* 動畫有反彈?取消反彈

1> 執行動畫完畢不要移除

2> 設置動畫填充模式,保持最新的位置。

* rotation:

三維旋轉:transform

二維旋轉:transform.rotation

* scale

* 設置圖層內容(心)

* tovalue:@0.5

* 總結CABasicAnimation只能在兩個值之間做動畫,怎么多個值做動畫,用CAKeyframeAnimation

7> CAKeyframeAnimation

* 面向view開發,拖一個view

* values:能多個值之間做動畫,按照順序做。

* path

* 動畫節奏(timingFunction)

* 代理

8> * 圖標抖動

* PPT分析,左邊旋轉右邊旋轉 -> keyPath(transform.rotation) -> values -> 有點瘸 -> PPT分析 -> values添加一個值

9> * CATransition

過度動畫又叫轉場動畫 -> type(轉場類型) -> subtype(方向) -> 動畫進度

注意:轉場動畫必須和過度代碼放在一塊,否則沒有效果

10> * CAAnimationGroup

同時進行多種動畫 -> 平移,旋轉,縮放 -> 取消反彈

11> * UIView封裝的動畫

* 什么時候用核心動畫,什么時候用UIView動畫

* 核心動畫的缺點:都是假象,不能真正改變圖層屬性的值

* 展示和真實的位置不同

* 如果改變位置就用UIView的動畫

* 轉場動畫就用核心動畫

* 為什么轉場用核心動畫?因為UIView的轉場動畫太少。

* 演示UIView的轉場動畫

* touchBegin,切換圖片

12> 轉盤

* 看素材分析控件(2個UIImgeView,1個按鈕)

* 自定義HMWheelView(處理轉盤功能,以后其他項目直接拷貝就好了)

* xib描述(界面固定,按鈕有兩種狀態的圖片)

* 添加按鈕,父控件是中間的那個UIImgeView,只有他需要旋轉。

* 在awakeFormNib添加,initWithCoder還沒連線。

* 按鈕的位置:PPT分析,所有按鈕的frame都一樣,但是根據不同的角標,旋轉不同的角度,相對上一個都旋轉30°。

1> 設置錨點:旋轉是繞著錨點旋轉的

2> 設置position

3> 設置尺寸

4> 形變,旋轉按鈕

* 按鈕選中的背景

* 監聽按鈕點擊,允許父控件交互。

* 裁剪大圖片

* CGImageCreateWithImageInRect(CGImageRef image, CGRect rect)

* image:裁剪的圖片 rect:裁剪的尺寸

* CGImageRef 是 像素,而我們傳的是點坐標,轉換坐標系

* 旋轉轉盤:不能用核心動畫

* 搞個定時器,每隔一段時間旋轉一點角度,一秒旋轉45°,每次旋轉45/60,因為一秒調用60次,那個方法

* 給外界提供開始旋轉和停止旋轉兩個方法

* 監聽開始旋轉按鈕

1> 不需要和用戶交互,用核心動畫

2> 快速旋轉的時候,暫停定時器,不需要同時旋轉,會有問題

* 旋轉完之后,需要處理的業務邏輯

1> 允許用戶交互

2> 選中按鈕回到最上面中間位置,只要旋轉按鈕才知道自己旋轉了多少,反向旋轉這么多角度就好了,用make,把之前的旋轉全部清空。

3>2秒后自動旋轉

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,501評論 6 544
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,673評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,610評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,939評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,668評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,004評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,001評論 3 449
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,173評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,705評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,426評論 3 359
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,656評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,139評論 5 364
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,833評論 3 350
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,247評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,580評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,371評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,621評論 2 380

推薦閱讀更多精彩內容