frame과 bounds를 observe할 때 차이는?
frame과 bounds를 observe할 때 차이는? UIView의 크기 변화를 관찰하여 임의로 생성한 Layer의 크기를 조정해야하는 프로젝트가 있었습니다. frame에 observer를 추가를 했고 code생성한 UI에서는 잘 동작을 했습니다. 그런데 storyboard에서 제약조건을 추가한 UI에서는 frame의 크기 변화가 관측되지 않았습니다. bounds에 observer를 추가했을 때 bounds의 크기 변화가 관측되었습니다. 왜 제약조건에서는 frame의 크기 변화가 관측되지 않을지 궁금했습니다. 이번 포스트에서는 frame과 bounds에 대해서 알아보고 각각에 대해서 관측했을 때 어떤 점이 다른지 확인해보겠습니다. frame frame은 부모view에 의해 조정되는 view의 위치와 크기를 표현하는 사각형입니다. view의 위치와 크기를 조정하기 위해서 설정할 수 있습니다. view의 center값 조정 시 origin point가 변경되고 bounds값에 의해 size가 변경될 수 있습니다. 경고 transform이 identity가 아니라면 frame은 정의되지 않으며 그렇기때문에 해당 값은 무시해야합니다. 경고의 의미가 무엇인지 코드를 통해 확인해 보겠습니다. let view1 = UIView ( frame : CGRect ( x : 80 , y : 120 , width : 100 , height : 50 ) ) view1 . backgroundColor = . red print ( "view1 frame: \( view1 . frame ) " ) print ( "view1 bounds: \( view1 . bounds ) " ) print ( "view1 center: \( view1 . center ) " ) view1 . transform = CGAffineTransform (