Swift

Swift - TabBarItem 이미지 렌더링 이슈

iosos 2024. 10. 9. 19:49

문제 상황


 

  • Figma에서 다운 받은 TabBarItem 이미지 중 “MY” 이미지가 제대로 렌더링 되지 않음

  • 다른 이미지와 차이점으로는 “MY” 이미지만 배경을 가지고 있음 → 이것이 이유일듯 싶다

해결 과정


  • UITabBarItem은 이미지를 기본 이미지와 다르게 렌더링 함
  • 애플 공식 문서에 따른 기본적으로 제공한 이미지를 표시하지 않고 이미지의 알파 값에서 새 이미지를 생성하여 색조를 지정하는 방식을 사용
  • 이를 방지하려면 렌더링 모드를 UIImage.RenderingMode.alwaysOriginal 렌더링 모드를 사용하면 해결됨

let myTabBarImage = UIImage(named: "tabBar_my")?.withRenderingMode(.alwaysOriginal)
myVC.tabBarItem = UITabBarItem(title: "MY", image: myTabBarImage, tag: 4)

 

 

참고 자료


 

UITabBarItem 이미지가 원본과 다르게 보이는 현상 해결하기

디자이너 분께서 주신 아래 이미지를 토대로 TabBarController의 TabBarItem에 적용하려고 했다. 문제점 하지만 아래와 같이 동그라미이긴 한데.. 다 채워져있다. 몹시 당황스럽다🙃. Debug View Hierarchy에

vapor3965.tistory.com

 

 

UITabBarItem | Apple Developer Documentation

An object that describes an item in a tab bar.

developer.apple.com