# 이걸 왜 공부하게 되었나요?

ZOOC 리팩토링 과정에서 clipstobounds vs maskstobounds의 차이점이 궁금해서 찾아보다가

이 개념을 알아야 된다고 해서 공부를 하게 되었습니다!

func makeCornerRadius(ratio: CGFloat){
        layer.cornerRadius = frame.height / ratio
        layer.masksToBounds = false
        clipsToBounds = true
    }

# 공부한 내용 정리하기

0. frame & bounds

타입이 CGRect인 걸 봐서 View의 위치와 크기를 나타내기 위해 사용됨을 알 수 있다! 그럼 이제부터 정말 어떠한 차이점을 가지고 있는지 알아보자

Untitled

Untitled

1. frame

: SuperView의 좌표계에서 View 위치와 크기를 결정한다!

UIView의 위치 및 크기를 설정할 때 사용한다

1-1. frame의 origin

Super View(나의 한칸 윗 계층 View)의 원점을(0,0)으로 놓고 그 원점부터 얼마나 떨어져있는지 나타냄

1-2. frame의 size

→ View 영역을 모두 감싸는 사각형 (View 자체의 크기가 아님!)

만약 View의 width: 200, height: 130인 사각형이 있을 때이걸 회전을 한다면

아래와 같이 width, height가 변하게 된다.

그 이유는 VIew 자체가 차지하는 영역을 감싸는 사각형이 Size기 때문이다!