[swift] Swift Core Graphics로 그림자 효과 그리기

그림자 효과는 UI 요소에 깊이와 형태를 부여하여 사용자에게 시각적인 효과를 주는 데에 유용합니다. Swift의 Core Graphics 프레임워크를 사용하면 그림자 효과를 자유롭게 그릴 수 있습니다.

그림자 효과 그리기

Core Graphics를 사용하여 UIView의 layer에 그림자를 추가할 수 있습니다. 먼저, UIView의 layer 속성을 사용하여 CGContext를 가져옵니다.

import UIKit

class ShadowView: UIView {
    override func draw(_ rect: CGRect) {
        if let context = UIGraphicsGetCurrentContext() {
            context.setShadow(offset: CGSize(width: 5, height: 5), blur: 5)
        }
    }
}

위의 코드에서는 ShadowView 클래스를 만들고 draw(_:) 메서드를 오버라이드하여 CGContext를 가져온 후 setShadow 메서드를 사용하여 그림자를 추가하고 있습니다.

그림자 속성 설정

setShadow 메서드를 사용하여 그림자를 추가하기 전에 다양한 속성을 설정할 수 있습니다.

context.setShadow(offset: CGSize(width: 5, height: 5), blur: 5, color: UIColor.gray.cgColor)

위의 코드에서는 그림자의 offset, blur(흐림 정도)color를 설정하고 있습니다.

그림자가 있는 뷰 사용하기

그림자가 있는 뷰를 사용하려면 해당 뷰를 콘테이너 뷰의 하위 뷰로 추가합니다.

let shadowView = ShadowView(frame: CGRect(x: 50, y: 50, width: 200, height: 200))
containerView.addSubview(shadowView)

마무리

Swift Core Graphics를 사용하여 그림자 효과를 그리는 방법에 대해 알아보았습니다. 그림자의 오프셋, 흐림 정도, 색상 등을 조절하여 원하는 시각적 효과를 얻을 수 있습니다.

참고 문헌: