[swift] Swift에서 아이콘의 색상을 변경하는 방법

iOS 앱을 개발하다보면 아이콘의 색상을 변경해야 할 때가 있습니다. Swift에서는 아이콘의 색상을 변경하는 몇 가지 방법을 제공합니다. 이번 블로그 글에서는 Swift에서 아이콘의 색상을 변경하는 세 가지 방법을 알아보겠습니다.

1. 아이콘 이미지를 새로 만들기

가장 간단한 방법은 아이콘 이미지를 새로 만들고 원하는 색상으로 색칠하는 것입니다. 이 방법은 이미지 편집 소프트웨어를 사용하여 아이콘을 열고 색상을 변경한 다음, 새로운 이미지를 프로젝트에 추가하는 것입니다.

2. SF Symbols 사용하기

iOS 13부터 Apple은 SF Symbols라는 벡터 기반 아이콘 시스템을 도입했습니다. SF Symbols는 기본 제공되는 아이콘들을 사용하면서도 색상을 변경할 수 있는 장점이 있습니다.

let symbolConfig = UIImage.SymbolConfiguration(pointSize: 30, weight: .bold)
let symbolImage = UIImage(systemName: "heart.fill", withConfiguration: symbolConfig)?.withTintColor(.red, renderingMode: .alwaysOriginal)

위의 코드는 heart.fill이라는 SF Symbol을 사용하여 아이콘 이미지를 만들고, withTintColor(_:renderingMode:) 메서드를 사용하여 아이콘의 색상을 변경합니다.

3. Custom 아이콘 만들기

마지막으로, Custom 아이콘을 만들어 색상을 변경할 수도 있습니다. 이 방법은 이미지 생성 및 그리기 작업을 통해 아이콘을 커스텀하게 만들고, 색상을 변경하는 것입니다.

let renderer = UIGraphicsImageRenderer(size: CGSize(width: 30, height: 30))
let customIcon = renderer.image { context in
    UIColor.red.setFill()
    context.cgContext.fillEllipse(in: CGRect(x: 0, y: 0, width: 30, height: 30))
}

위의 코드는 UIGraphicsImageRenderer를 사용하여 30x30 크기의 원 모양의 Custom 아이콘 이미지를 생성하는 예시입니다. 여기서 setFill() 메서드를 사용하여 아이콘의 색상을 지정할 수 있습니다.

위의 세 가지 방법을 사용하여 Swift에서 아이콘의 색상을 변경할 수 있습니다. 각 방법마다 장단점이 있으므로, 프로젝트의 요구 사항에 따라 적절한 방법을 선택해야 합니다.

참고자료: