UIImageAsset

Panther·2021년 8월 14일
0

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."

단일 작품 설명을 여러 가지 방식으로 나타내는 이미지 컬렉션에 대한 컨테이너입니다.

Declaration

class UIImageAsset : NSObject

Overview

UIImageAsset에 대한 일반적인 유즈 케이스는 다른 디스플레이 스케일에서 같은 아이템의 여러 이미지를 그룹화하는 것입니다. 이미지 에셋 객체는 UIImage의 인스턴스에 할당되지 않습니다. UIImage는 이미지의 여러 표현이 사용 가능할 때 에셋을 제공합니다. init(named:) 혹은 init(named:in:compatibleWith:) 메소드를 사용하는 것을 통해 이미지 에셋 카탈로그로부터 가져온 이미지는, 카탈로그로부터 다른 이미지에 대한 접근권한을 허용하는 이미지 에셋 객체를 자동으로 갖습니다.

Registering an Image

이미지 에셋과 함께 이미지를 등록할 때, UITraitCollection 객체를 이미지와 연결시켜야 합니다. 특성 컬렉션은 displayScaleuserInterfaceIdiom 특성 속성을 포함해야 합니다. 특성 컬렉션에서 이러한 속성을 정의하지 않는다면, 아래 기본값이 할당됩니다.

  • displayScale = 1.0
  • userInterfaceIdiom = UIUserInterfaceIdiom.unspecified

예를 들어 오직 수평 사이즈 클래스만을 포함하는 특성 컬렉션을 생성하는 경우 기본값 디스플레이 스케일 및 idiom은 이미지가 등록될 때 추가됩니다.

Retrieving an Image

이미지 에셋으로부터 이미지를 회수하거나 등록을 해제할 때, 이미지 등록에 사용되었던 특성 컬렉션을 사용해서 그렇게 해야 합니다. 정확한 이미지 회수를 보장하려면, 사용된 특성 컬렉션은 displayScaleuserInterfaceIdiom 특성을 포함해야 합니다. 이러한 특성이 특성 컬렉션이 정의되지 않는다면, 아래 기본값이 할당됩니다.

  • displayScale = 현재 기기의 스케일
  • userInterfaceIdiom = 현재 기기에서 사용된 인터페이스의 타입

예를 들어 오직 수평 사이즈 클래스만 갖는 특성 컬렉션을 생성하면, 현재 기기의 디스플레이 스케일 및 idiom은 이미지를 위한 UIImageAsset을 탐색할 때 추가됩니다.

UIImageViewtraitCollectionDidChange(_:)가 회수하고자 하는 이미지에서 호출될 때 정확한 이미지를 회수합니다.

See Also


Assets

NSDataAsset

에셋 카탈로그에 저장된 데이터 집합 타입으로부터의 객체입니다.

https://developer.apple.com/documentation/uikit/nsdataasset
https://velog.io/@panther222128/NSDataAsset


0개의 댓글