[swift] Swift에서 아이콘에 그림자 효과를 애니메이션으로 변경하는 방법

Swift에서는 CALayer를 사용하여 뷰에 그림자 효과를 적용할 수 있습니다. 이를 활용하여 아이콘에 그림자 효과를 애니메이션으로 변경하는 방법을 살펴보겠습니다.

먼저, 아이콘을 포함한 뷰에 CALayer를 추가하고 그림자 효과를 설정해야 합니다. 아래 코드를 참고하여 CALayer를 추가하고 그림자 효과를 설정합니다.

let iconView = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
iconView.backgroundColor = UIColor.white

// CALayer 생성
let shadowLayer = CALayer()
shadowLayer.frame = iconView.bounds

// 그림자 효과 설정
shadowLayer.shadowColor = UIColor.black.cgColor
shadowLayer.shadowOffset = CGSize(width: 0, height: 2)
shadowLayer.shadowOpacity = 0
shadowLayer.shadowRadius = 4

// 뷰에 CALayer 추가
iconView.layer.addSublayer(shadowLayer)

위 코드에서 iconView는 아이콘이 포함된 뷰로 가정하고, 그림자 효과를 적용할 CALayer인 shadowLayer를 생성합니다. 그림자 효과를 설정하기 위해 shadowColor, shadowOffset, shadowOpacity, 그리고 shadowRadius를 조절합니다. 마지막으로, shadowLayericonView에 추가합니다.

이제, 그림자 효과를 애니메이션으로 변경하는 방법을 알아보겠습니다. 아래 코드를 참고하여 그림자 효과의 애니메이션을 설정합니다.

let shadowAnimation = CABasicAnimation(keyPath: "shadowOpacity")
shadowAnimation.fromValue = 0
shadowAnimation.toValue = 1
shadowAnimation.duration = 1

// 애니메이션 실행
shadowLayer.add(shadowAnimation, forKey: "shadowAnimation")

위 코드에서 shadowAnimation이라는 CABasicAnimation을 사용하여 shadowOpacity를 0에서 1로 애니메이션화합니다. 애니메이션의 속도는 duration으로 설정할 수 있습니다. 마지막으로, shadowAnimationshadowLayer에 추가하여 애니메이션을 실행합니다.

이제 위의 코드를 적용하면 아이콘에 그림자 효과를 애니메이션으로 변경할 수 있습니다.

참고 자료: