UIView & CALayer

主要说关于layer的anchorPoint,图形变换的坐标原点post

layer与view是一块儿的,正常状况下anchorPoint的值是(0.5, 0.5),也就是layer的正中央,若是想把坐标原点变成如今layer的左上角,若是仅仅设置anchorPoint为(0,0),这样的结果是layer的左上角变到了原来的正中央(也就是改变了原来layer的位置position),那么图形的变换就不是原来layer的左上角了,而是原来的正中央,其实就是变换的实际物理点没有变,只是逻辑上的值改了,此时还须要设置下layer的position为(0,0),这样就能够把layer再拉回和原来的位置同样,并且变换的坐标原点变成原来的左上角。it

由于: 1)anchorPoint只是逻辑点,不是实际的物理显示点io

            2)改变layer的anchorPoint的时候,也会改变layer的position,也就是改变了物理显示点,因此当设置anchorPoint为(0,0)的时候,坐标的变换点确实变成了layer的左上角,可是它所占据的物理显示点仍是原来的layer的正中央,因此就把物理显示点(position)变到了原来的正中央的位置,也就是(width/2.f, height/2.f),因此必须再设置下postion的值是(0,0),就能够再把layer设置回最开始原来的位置。view

有点绕,须要多读几遍。vi