-
CALayer의 position과 anchorPoint의 관계앱등이에게 살충제를 뿌린다./iOS 2018. 8. 1. 19:19
CALayer의 position, anchorPoint
UIView의 layer프로퍼티. CALayer타입이고 position을 갖고 있습니다.
파란뷰위에 노란뷰를 올렸습니다.
이 때, 디폴트로 노란뷰.frame은 (0, 0, 100, 100)을 갖습니다. 그리고 노란뷰.layer.position의 값은 (50, 50)입니다. 노란뷰.center와 같은 값이죠.
그렇다면 이렇게 생각할 수 있습니다.
아~ UIView.layer.position은 UIView.center를 의미하는 거구나.
결론은 아닙니다. 그렇다면 center라고 네이밍하지, position이라고 하진 않았겠죠?
CALayer에는 anchorPoint라는게 있습니다. 타입은 CGPoint고 디폴트는 (0.5, 0.5)입니다. x와 y의 값은 0-1사이의 값을 갖습니다.
anchorPoint가 의미하는 바는 말로 표현하기 어렵지만 해보겠습니다.
position이 anchorPoint에 놓이도록 layer를 그리겠다.
anchorPoint가 (0.5, 0.5)라는건 layer의 중앙을 의미합니다.
그래서 position인 (50, 50)이 layer의 중앙에 놓이도록 layer를 그린겁니다.
anchorPoint를 (0, 0)으로 설정하면 어떻게 될까요?
position인 (50, 50)이 layer의 좌측 상단이 되도록 layer를 그리겠다. 그림을 보시죠…
반대로 anchorPoint를 (1, 1)로 설정하면??
position인 (50, 50)이 layer의 우측 하단이 되도록 layer를 그리겠다. 그림을 보시죠
끝
'앱등이에게 살충제를 뿌린다. > iOS' 카테고리의 다른 글