UIView에는 렌더링, 레이아웃, 애니메이션 등을 관리하는 Core Animation 클래스인 CALayer가 있다.
let mask = CALayer()
mask.contents = UIImage(named: "front")?.cgImage
mask.bounds = CGRect(x: 0, y: 0, width: 100, height: 80)
mask.anchorPoint = CGPoint(x: 0.5, y: 0.5)
mask.position = CGPoint(x: image.frame.size.width/2, y: image.frame.size.height/2)
image.layer.mask = mask
레이어의 내용을 마스크하는데 알파 채널이 사용되는 선택적 레이어로, 레이어의 알파 채널은 레이어의 내용과 배경이 비쳐 보이는 정도를 결정한다.
완전히 또는 부분적 불투명한 픽셀을 사용하면 기본 콘텐츠가 보일 수 있지만 완전히 투명한 픽셀은 해당 콘텐츠를 차단한다.
기본 배경에 원형 마스크를 씌운 모습
마스크 모형에 따라 내부 배경의 모습이 보이는 형식