https://developer.apple.com/documentation/uikit/uiimageasset
"A container for a collection of images that represent multiple ways of describing a single piece of artwork."
단일 작품 설명을 여러 가지 방식으로 나타내는 이미지 컬렉션에 대한 컨테이너입니다.
class UIImageAsset : NSObject
UIImageAsset
에 대한 일반적인 유즈 케이스는 다른 디스플레이 스케일에서 같은 아이템의 여러 이미지를 그룹화하는 것입니다. 이미지 에셋 객체는 UIImage
의 인스턴스에 할당되지 않습니다. UIImage
는 이미지의 여러 표현이 사용 가능할 때 에셋을 제공합니다. init(named:)
혹은 init(named:in:compatibleWith:)
메소드를 사용하는 것을 통해 이미지 에셋 카탈로그로부터 가져온 이미지는, 카탈로그로부터 다른 이미지에 대한 접근권한을 허용하는 이미지 에셋 객체를 자동으로 갖습니다.
이미지 에셋과 함께 이미지를 등록할 때, UITraitCollection
객체를 이미지와 연결시켜야 합니다. 특성 컬렉션은 displayScale
및 userInterfaceIdiom
특성 속성을 포함해야 합니다. 특성 컬렉션에서 이러한 속성을 정의하지 않는다면, 아래 기본값이 할당됩니다.
displayScale = 1.0
userInterfaceIdiom = UIUserInterfaceIdiom.unspecified
예를 들어 오직 수평 사이즈 클래스만을 포함하는 특성 컬렉션을 생성하는 경우 기본값 디스플레이 스케일 및 idiom은 이미지가 등록될 때 추가됩니다.
이미지 에셋으로부터 이미지를 회수하거나 등록을 해제할 때, 이미지 등록에 사용되었던 특성 컬렉션을 사용해서 그렇게 해야 합니다. 정확한 이미지 회수를 보장하려면, 사용된 특성 컬렉션은 displayScale
과 userInterfaceIdiom
특성을 포함해야 합니다. 이러한 특성이 특성 컬렉션이 정의되지 않는다면, 아래 기본값이 할당됩니다.
displayScale = 현재 기기의 스케일
userInterfaceIdiom = 현재 기기에서 사용된 인터페이스의 타입
예를 들어 오직 수평 사이즈 클래스만 갖는 특성 컬렉션을 생성하면, 현재 기기의 디스플레이 스케일 및 idiom은 이미지를 위한 UIImageAsset
을 탐색할 때 추가됩니다.
UIImageView
는 traitCollectionDidChange(_:)
가 회수하고자 하는 이미지에서 호출될 때 정확한 이미지를 회수합니다.
에셋 카탈로그에 저장된 데이터 집합 타입으로부터의 객체입니다.
https://developer.apple.com/documentation/uikit/nsdataasset
https://velog.io/@panther222128/NSDataAsset