- UIView 是什么,做什么
UIView是用來顯示內(nèi)容的,可以處理用戶事件
2.CALayer是什么,做什么
CALayer是用來繪制內(nèi)容的,對(duì)內(nèi)容進(jìn)行動(dòng)畫處理依賴與UIView來進(jìn)行顯示,不能處理用戶事件。
為何有兩套結(jié)構(gòu)
并不是兩套體系,UIView和CALayer是相互依賴的關(guān)系。UIView依賴與calayer提供的內(nèi)容,CALayer依賴uivew提供的容器來顯示繪制的內(nèi)容。歸根到底CALayer是這一切的基礎(chǔ),如果沒有CALayer,UIView自身也不會(huì)存在,UIView是一個(gè)特殊的CALayer實(shí)現(xiàn),添加了響應(yīng)事件的能力。
結(jié)論:
UIView來自CALayer,高于CALayer,是CALayer高層實(shí)現(xiàn)與封裝。UIView的所有特性來源于CALayer支持。