iOS/기초 지식

이미지 색 변경하는 법 - UIImage RenderingMode

minaje 2023. 10. 18. 10:09

글에 들어가며

프로젝트를 하다보니 어드민 계정일때 UIImage의 색상을 변경해야하는 상황이 생겼다.
그래서 처음에는 이미지를 따로 만들어서 바꿔 끼우는 형식으로 했었는데
너무 비효율적이라는 생각이 들어 이미지 자체의 색을 바꾸는 방법을 찾아보니 UIImage RenderingMode라는 기능이 있어서 공부하게 되었습니다!

UIImage RenderingMode란?

UIImage의 색상 값을 결정하는 것이다.

  • automatic: 컨텍스트의 기본 모드를 선택하며 지정해주지 않을 경우 디폴트 값 사용(보통 alwaysOriginal)
  • alwaysOriginal: 원본 Image 색상 사용
  • alwaysTemplate: 원본 Image 색상을 제거 후 지정한 tintColor로 변경


코드 예시

let exampleImage = UIImageView().then {
	$0.image = UIImage(named: "test.svg").withRenderingMode(.alwaysTemplate)
    $0.tintColor = .blue
}

 

이런식으로 코드를 작성하게 되면

원본이 이렇게 생겼던 이미지가

이렇게 파란색으로 변경된다!

마무리

오늘은 이렇게 매우 간단하게 UIImage의 색을 변경할 수 있는 UIImage RenderingMode를 알아보았다!
생각보다 간단하게 색을 바꿀 수 있어서 많이 애용할 거 같다!