IOS之UIKit_Day21

  Day21編程

回顧:ide

1 Core Animation函數

          CA上面是UIKitpost

          CA的下邊是Core Animation動畫

2. 針對Core Animation編程spa

          針對CALayer編程,經過UIViewlayer屬性達到CALayer的對象orm

          經過LAyer屬性能夠作效果server

          a.圓角對象

          b.添加子視圖ci

          c.設置背景色陰影

          d.使用CABasicAnimation實現動畫的步驟:

          step1:建立動畫對象使用構造方法時,傳入的是一個固定的字符串------position 位移   transform 旋轉   opacity 變形

          step2:設置屬性 FormValue  ToValue

          step3:將動畫效果註冊到一個子視圖對象的Layer層中

     e.針對CALayer作變形時,特別是旋轉動畫,能夠是3D的變形分別繞X Y Z 三個軸進行旋轉,同時須要使用一組特有的函數。

          CATransform3DMakeXXX或者是沒有make 的那組函數

 3. UIKit Dynamic

          3.1 UIDynamic Animation描述力場

          3.2 行爲:UIGravityBehavior 重力行爲

                            UICollectionBehavior碰撞

                            UIAttachmentBehavior吸附行爲

                            UISnapBehavior閃爍

 

今天:

1. 在設置吸附的時候能夠設置吸附行爲的頻率

          //設置吸行爲的頻率

    self.attachmen.frequency=1; 值越大橡皮筋越短

     //設置吸附行爲的阻尼(彈性係數)

     self.attachmen.damping=0.1;

          1.4 閃爍行爲:UISnapBehavior

          1.5 推力行爲:UIPushBehavior

2. 彈簧效果的短消息

          思路:利用手指移動的距離,以及item離手指點的位置的遠近,產生一個變化的值,使用這個值來修改全部CollectionView中的item的錨點

     步驟:

                   step1:首先計算scroll的距離SCrollDelta

                   step2:爲了獲得每一個item與觸摸的點的之間的距離,須要直到觸摸點的座標touchLocation

                   step3:能夠根據距離對每一個錨點進行設置了,簡單計算出來原來錨點與觸摸點之間的距離distanceFromTouch並計算一個係數

                   step4:接下來,對於當前的item 咱們要是、獲取其當前錨點的位置,而後將其根據scrollDelta的係數和剛纔計算的係數,從新設定錨點的位置。

                   step5:最後須要告訴UIDynamicAnimation已經完成了對完成了對錨點的更新,如今能夠開始跟新位置,並隨時準備collectionView取得LayoutAttibutes的收據了

 

3. 通知(notification

          3.1 是什麼?

          是一個觀察這模式的具體現

          觀察着模式:對一個對象A想直到另外一個B狀態是否發生了改變,思路是在B 對象上註冊一個觀察着,當對象B的狀態發生改變時,通知對象A 對象A收到通知後進行的處理的一種模式。

          其中觀察着模式的一種解決方案叫作----------廣播

          系統中的通知就是廣播的一種體現

3.2 好處:

                   一個對象不須要知道消息的接受者是誰,就能夠將一些消息發送給須要的接受者。

                   有時發送消息的對象沒法知道那些對象,有多少對象接受消息,也不知道對象是否存在。

                   有時消息的接受着和發送或太遠(遠  是指不是具體的  是關係如控制器和視圖就是近可是Model離控制器就是遠)

          3.3

                   1》接收者:找到通知中心

                   NSNotificationCenter,註冊要收聽的一個具體頻道addObserver

                   2>發送者:找到通知中心,建立通知對象(NSNotification)使用通知中心來發送這個消息(postNotification

                   3》接受者 收到消息  處理消息(掉方法)

                   4》中止收聽 不須要收聽時,找到通知中新  註冊removeObserver

          3.4 關鍵的類

                   NSNotificationCenter  是一個單例類,使用defaultCenter方法永遠返回同一個對象,以此保證中心對象只有一個

                   NSNotification通知類(封轉通知的內容等信息)

 

4 鍵盤通知

          鍵盤彈起的通知名稱:

                   UIKeyboardWillShowNotification

          鍵盤收起的通知名稱

                   UIKeyboardWillHideNotification

相關文章
相關標籤/搜索