UIView CALayer
2019獨角獸企業重金招聘Python工程師標準>>>
主要說關于layer的anchorPoint,圖形變換的坐標原點
layer與view是一起的,正常情況下anchorPoint的值是(0.5, 0.5),也就是layer的正中央,如果想把坐標原點變成現在layer的左上角,如果僅僅設置anchorPoint為(0,0),這樣的結果是layer的左上角變到了原來的正中央(也就是改變了原來layer的位置position),那么圖形的變換就不是原來layer的左上角了,而是原來的正中央,其實就是變換的實際物理點沒有變,只是邏輯上的值改了,此時還需要設置下layer的position為(0,0),這樣就可以把layer再拉回和原來的位置一樣,而且變換的坐標原點變成原來的左上角。
因為:?1)anchorPoint只是邏輯點,不是實際的物理顯示點
????????????2)改變layer的anchorPoint的時候,也會改變layer的position,也就是改變了物理顯示點,所以當設置anchorPoint為(0,0)的時候,坐標的變換點確實變成了layer的左上角,但是它所占據的物理顯示點還是原來的layer的正中央,所以就把物理顯示點(position)變到了原來的正中央的位置,也就是(width/2.f, height/2.f),所以必須再設置下postion的值是(0,0),就可以再把layer設置回最開始原來的位置。
有點繞,需要多讀幾遍。
轉載于:https://my.oschina.net/u/913344/blog/692794
總結
以上是生活随笔為你收集整理的UIView CALayer的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ActiveMQ持久化方式(转)
- 下一篇: 东大教务处验证码破解