본문 바로가기
iOS

[iOS/Swift] UIImageView의 Image에 TintColor 적용하기

by 코코종 2022. 2. 9.

안녕하세요 코코종입니당!

방금 UIImageView에 Image를 넣어주고 color를 바꾸려고 (검색을 안해보고) 막 이것저것 써봤는데 안되더라구요!

 

그럼 의문이 들 수 있습니다. '대체 왜 이런 작업을 하려고..? 이미지에 뭐하는 짓이야? 다른 색의 이미지를 쓰면 되잖아'

이런 작업이 필요했던 이유는 간단합니다. 공통으로 쓰이는 이미지의 색을 바꿔서 적용하는 경우가 있고, 다른 색의 이미지를 assets에 하나하나 추가하는 일은 그만큼 앱의 용량을 차지하니까 아깝다고 생각했기 때문이에요 ㅎㅎ


제가 원래 했던 부분을 보시죠!

 let deleteImage = UIImageView().then {
    $0.image = UIImage(named: "close_small")
    $0.tintColor = .green
 }

틴트컬러가 왜 안먹어...?

적용이 안되길래 UIImageView에 내부 메서드들을 막 살펴봤는데도 TintColor이외에 비슷해보이는 것도 없더라구요!

그래서 검색을 하다보니 애플 공식문서를 참고해서 해결하게 되었습니다!

let deleteImage = UIImageView().then {
    $0.image = UIImage(named: "close_small")?.withRenderingMode(.alwaysTemplate)
    $0.tintColor = .green
}

성공~~!


이번 글은 매우 간단한 내용이었죠?. 비슷한 내용으로는 UIButton의 Title 색을 변경할 때 TintColor가 아닌 setTitleColor를 사용해야했던 경험이 있어서 까먹지 않기 위해서 적었답니다!

이렇게 간단한 내용도 적어두면 안 까먹겠죠~? 그럴거라 믿습니다~ 그럼 이만~~~~