728x90
이미지 렌더링 모드에 대해 알아 보도록 하겠습니다.
UIImage의 RenderingMode에는 아래와 같이 3가지의 옵션이 있습니다.
extension UIImage {
@available(iOS 7.0, *)
public enum RenderingMode : Int {
case automatic // Use the default rendering mode for the context where the image is used
case alwaysOriginal // Always draw the original image, without treating it as a template
case alwaysTemplate // Always draw the image as a template image, ignoring its color information
}
}
이미지 렌더링이란 무엇일까요?
개발을 하다 보면 분명 이미지를 넣었는데 파란색으로 나오는 경우를 보셨을 겁니다.
1. automaic
이미지렌더링모드 중에서 automatic은 default입니다.
뷰 상에선 제대로 나오는데 탭바에서 이미지가 불투명한 부분을 틴트 컬러로 보이고 있습니다.
let image = UIImage(named: "cart")?.withRenderingMode(.automatic) // Default
2. alwaysTemplate
원본 이미지에서 컬러 정보가 모두 제거되고, 불투명한 부분을 틴트 컬러로 보이게됩니다.
let image = UIImage(named: "cart")?.withRenderingMode(.alwaysTemplate)
3. alwaysOriginals
원본(Originals) 이미지에서 컬러 정보가 모두 보이게 됩니다.
let image = UIImage(named: "cart")?.withRenderingMode(.alwaysOriginal)
코드가 아닌 Xcode에서 이미지의 렌더링 변경하는 방법
- Assets -> 이미지 선택 후 Render As
'iOS' 카테고리의 다른 글
[iOS] 13 이슈 대응 및 변경 사항 공유 (0) | 2019.09.25 |
---|---|
[iOS] Library를 CocoaPods에 배포하는 방법 (0) | 2019.08.27 |
[iOS] Build Configuration 설정 방법 (0) | 2019.07.31 |
[iOS] Cell Life Cycle (1) | 2019.07.30 |
[iOS] 코드사이닝, 인증서, 프로비저닝 프로파일이란? (1) | 2019.07.25 |