CALayer的認識

CALayer的認識框架

1.iOS中全部看得見的控件都須要UIView 包括UIwindow也是一個特殊的UIView性能

 

2.UIview對象在建立的時候  UIView內部回會去自動建立一個圖層 CALayer對象 動畫

舉個例子 就是能夠經過UIview的layer屬性去訪問他spa

3.UIview的現實過程對象

UIview須要顯示在屏幕上的時候 會調用drawRect方法進行繪圖  而且將所繪製的內容放在本身的圖層上面,繪圖完畢後,系統會講圖層拷貝到屏幕上  完成屏幕顯示 繼承

     UIview自己不能顯示  是calayer完成的顯示事件

 

4 ,舉個例子 開發過程當中 能夠經過CALyaer對象去 很方便的調整UIView的外觀屬性開發

     圓角  影音 邊框 contents須要強轉維CGImage   還能夠添加一些自定義的動畫it

 

5.自定義layer   能夠實現和UIview同樣的展現效果 io

   咱們自定義CALayer   正常的View本身有一個的一個layer 屬性

   咱們能夠經過CALayer的類方法本身去自定義個  

設置了屬性後 最後別忘了  [self.view.layer addSublayer:layer]

 

又一個細節點值得注意的是  若是一個控件 是另一個控件的子控件  那麼控件中的layer也是另一個控件的子layer  最簡單的例子就是截屏操做的時候 爲何可以所有

 

6.CALyaer是QuarzCore框架中的   CGImageRef和CGCoreRef是定義在CoreGrapgics中的 

前面的兩個都是跨平臺的 

   UIColor和UIimage是定義在的 UIKit中的  專屬於iOS的

   若是你能用UIColre和UIimage 

 

QuarzCore 不恩可以使用uUIColor和UIImage 只能使用CGColorRef和 CGImageRef

 

UIview比CALayer多了一個事件處理的功能    爲何?????

  由於他是繼承自那個  NSObject的   不是繼承自UIResponder

  CALyaer的性能高一代呢    少了處理事件的處理

  通常的時候是用不着的

 

7.CALayer有兩個屬性      position和  anchorpoint(取值是0-1)

    anchorpoint決定了哪一個點移動到 (100,100)的位置  不是默認的 左上角 00到那個位子 

相關文章
相關標籤/搜索