호댕의 iOS 개발

[iOS] 특정 모서리만 둥글게 처리하는 방법 (layer.maskedCorners) 본문

Software Engineering/iOS

[iOS] 특정 모서리만 둥글게 처리하는 방법 (layer.maskedCorners)

호르댕댕댕 2022. 9. 13. 21:15

 

일단 기존 4개의 꼭지점 모두 둥글게 일괄적으로 처리하려면 layer.cornerRadius를 주면 된다. 그리고 clipsToBounds를 true로 주면 모든 꼭지점을 둥글게 처리할 수 있다. 

 

하지만 이렇게만 하면 특정 모서리만 둥글게 처리를 할 수 없다.

그럼 위 사진처럼 위 모서리만 둥글게 처리하려면 어떻게 해야할까?

이때 쓸 수 있는 것이 바로 layer.maskedCorners이다.

 

이는 CACornerMask의 배열로 되어 있으며 CACornerMask는 구조체로 타입 프로퍼티로 각각의 꼭지점이 선언되어 있다. 

둥글게 하고 싶은 꼭지점을 layer.maskedCorners에 배열 형태로 할당해주면 된다. 

따라서 만약 위 이미지처럼 위쪽만 둥글게 하고 싶은 경우

$0.layer.maskedCorners = [.layerMinXMinYCorner, .layerMaxXMinYCorner]

이렇게 주면 된다.

 

참고자료 

- CACornerMask

 

Apple Developer Documentation

 

developer.apple.com

Comments