iOS動畫效果和動畫過程中的點擊事件

啊,開始填坑。。。
主要是想說CALayer的模型層(modelLayer)和展示層(presentationLayer)。
當我們使用CALayer去做一些動畫效果時,你可能會發(fā)現(xiàn)你點擊正在動畫的圖層觸發(fā)不了它對應的方法,但是這個圖層卻是真真切切地在動,這個就和CALayer的模型層和展示層有關。
模型層M中保存著需要繪制的內(nèi)容和屬性,展示層P會在下次繪制時“詢問”M如何繪制,而P繪制的過程(包括產(chǎn)生動畫效果)是我們看到的現(xiàn)象。
簡單地說,你看到的動畫時M指揮P完成的。
那么我們?yōu)槭裁传@得不了點擊事件呢?
我們知道UIView是負責用戶交互的,Layer本身不具備用戶交互事件(你對View顯示上的操作其實最終操作的是Layer)。Layer產(chǎn)生的動畫,例如fromValue toValue確確實實是Layer在動,但在動畫過程中M并沒有變(你可以當做View的原始位置沒有變,動的是Layer),所以相應點擊事件的依舊是原來的位置。(而且在動畫的過程中,一個CAAnimation加在了Layer上,此時的P繪制時會去詢問A,動畫完成后A從Layer移除掉,P才會向M詢問怎么繪制)。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 在iOS中隨處都可以看到絢麗的動畫效果,實現(xiàn)這些動畫的過程并不復雜,今天將帶大家一窺ios動畫全貌。在這里你可以看...
    每天刷兩次牙閱讀 8,690評論 6 30
  • 在iOS中隨處都可以看到絢麗的動畫效果,實現(xiàn)這些動畫的過程并不復雜,今天將帶大家一窺iOS動畫全貌。在這里你可以看...
    F麥子閱讀 5,270評論 5 13
  • 前言 本文只要描述了iOS中的Core Animation(核心動畫:隱式動畫、顯示動畫)、貝塞爾曲線、UIVie...
    GitHubPorter閱讀 3,741評論 7 11
  • 轉載:http://www.itdecent.cn/p/32fcadd12108 每個UIView有一個伙伴稱為l...
    F麥子閱讀 6,583評論 0 13
  • 書寫的很好,翻譯的也棒!感謝譯者,感謝感謝! iOS-Core-Animation-Advanced-Techni...
    錢噓噓閱讀 2,439評論 0 6

友情鏈接更多精彩內(nèi)容