https://developer.apple.com/documentation/uikit/nscollectionlayoutsupplementaryitem
"An object used to add an extra visual decoration, such as a badge or a frame, to an item in a collection view."
컬렉션 뷰에 있는 아이템에 badge 혹은 프레임과 같은 추가적인 시각적 장식을 더하기 위해 사용되는 객체입니다.
@MainActor class NSCollectionLayoutSupplementaryItem : NSCollectionLayoutItem
class NSCollectionLayoutSupplementaryItem : NSCollectionLayoutItem
컨텐트에 추가적인 뷰를 더하려면 보완 아이템을 사용할 수 있습니다. 예를 들어 아이템에 badge를 추가하거나 그룹 근처에 프레임을 추가할 수 있습니다. 보적 아이템은 추가되는 아이템의 인덱스 경로를 따라갑니다.
레이아웃 혹은 섹션에 헤더 혹은 footer를 생성하길 원한다면 경계 보완 아이템(NSCollectionLayoutBoundarySupplementaryItem
)을 대신 사용할 수 있습니다.
보완 아이템의 각 타입은 고유한 요소의 종류입니다. 각 요소를 식별하기 위해 아래에 나와있는 스트링을 살펴보시기 바랍니다.
struct ElementKind {
static let badge = "badge-element-kind"
static let background = "background-element-kind"
static let sectionHeader = "section-header-element-kind"
static let sectionFooter = "section-footer-element-kind"
static let layoutHeader = "layout-header-element-kind"
static let layoutFooter = "layout-footer-element-kind"
}
아이템 구성 시 보완 아이템의 배열에 전달해서 보완 아이템을 추가할 수 있습니다.
let itemSize = NSCollectionLayoutSize(widthDimension: .absolute(44),
heightDimension: .absolute(44))
let badgeAnchor = NSCollectionLayoutAnchor(edges: [.top, .trailing],
fractionalOffset: CGPoint(x: 0.3, y: -0.3))
let badgeSize = NSCollectionLayoutSize(widthDimension: .absolute(20),
heightDimension: .absolute(20))
let badge = NSCollectionLayoutSupplementaryItem(layoutSize: badgeSize,
elementKind: ElementKind.badge,
containerAnchor: badgeAnchor)
let item = NSCollectionLayoutItem(layoutSize: itemSize,
supplementaryItems: [badge])
컬렉션 뷰에 있는 아이템에 보완 아이템을 추가하는 방법을 정의하는 객체입니다.
https://developer.apple.com/documentation/uikit/nscollectionlayoutanchor
https://velog.io/@panther222128/NSCollectionLayoutAnchor
컬렉션 뷰에 헤더 혹은 footer를 추가하기 위해 사용되는 객체입니다.
https://developer.apple.com/documentation/uikit/nscollectionlayoutboundarysupplementaryitem
https://velog.io/@panther222128/NSCollectionLayoutBoundarySupplementaryItem
컬렉션 뷰의 섹션에 백그라운드를 추가하기 위해 사용되는 객체입니다.
https://developer.apple.com/documentation/uikit/nscollectionlayoutdecorationitem
https://velog.io/@panther222128/NSCollectionLayoutDecorationItem