var frame: CGRect { get set }
center
가 바뀌고, bounds 범위 안에서의 적절한 사이즈로 바뀐다.draw(_:)
없이 재표시된다.draw(_:)
method를 사용하고 싶다면, contentMode
의 UIView.ContentMode.redraw
를 사용할 것.CGAffineTransformIdentity
가 아니라면), frame은 정의되지 않고, 수정하면 안된다.var bounds: CGRect { get set }
draw(_:)
없이 재표시된다.draw(_:)
method를 사용하고 싶다면, contentMode
의 UIView.ContentMode.redraw
를 사용할 것.var center: CGPoint { get set }
var transform: CGAffineTransform { get set }
CGAffineTransformIdentity
가 default value이다.view.transform = CGAffineTransform.identiy
하면 원상복구된다.CALayer
object의 anchorPoint
가 수정된다.image for 2D affine transformation matrix-ko
CGAffineTransform
data structure에는 처음 두 열의 값만 포함translateBy(x:y:)
scaleBy(x:y:)
rotate(by:)
class CALayer : NSObject
CAMediaTiming
protocol 같은 것을을 제공하여 duration과 pacing을 캡슐화한다. layoutManager
같은 것을 사용할 수 있다.공부할거 쏟는다 입벌ㄹ려
평소 잘 쓰고 있던 것들이기에, Frame과 Bounds에 대한 개념 정리만 가볍게 하려는 계획이었으나, 파고 파다보니 거의 이틀동안 이것만 공부하게 되었다. 후후.. 그치만 이런 시간을 가져야 한다. 일정에 쫒기고 사용하기에 급급한 날들이 쌓여 더 넘기 어려운 정체를 만들게 될 것이다. 개발을 처음 시작했을 때, 궁금증을 채우는 정도로 가볍게 맛만 보려고 했던 과거의 내가 떠오르네..호기심천국멈춰🖐🏻
Apple Developer Documentation - frame
Apple Developer Documentation - bounds
Apple Developer Documentation - center
Apple Developer Documentation - transform
Apple Developer Documentation - CGAffineTransform
Apple Developer Documentation - CALayer
Core Animation Programming Guide - Setting Up Layer Objects
Animation Pacing: How To Animate Quick Movement vs. Slow Movement