https://developer.apple.com/documentation/uikit/nscollectionlayoutanchor
"An object that defines how to attach a supplementary item to an item in a collection view."
컬렉션 뷰에 있는 아이템에 보완 아이템을 추가하는 방법을 정의하는 객체입니다.
@MainActor class NSCollectionLayoutAnchor : NSObject
class NSCollectionLayoutAnchor : NSObject
특정 아이템에 보완 아이템을 추가하기 위해 anchor를 사용할 수 있습니다. anchor는 보완 아이템이 아이템 어느 곳에 추가될지에 대한 정보를 포함합니다. 아래 내용을 포함합니다.
anchor에 대한 leading, trailing edge는 '왼쪽에서 오른쪽', '오른쪽에서 왼쪽' 각각의 환경에서 다릅니다. '왼쪽에서 오른쪽' 환경에서 leading edge는 왼쪽에 있고 trailing edge는 오른쪽에 있습니다. '오른쪽에서 왼쪽' 환경에서 leading edge는 오른쪽에 있고 trailing edge는 왼쪽에 있습니다. 이 차이는 컬렉션 뷰 레이아웃이 오른쪽에서 왼쪽으로 읽는 언어를 지원하는 빌드를 가능하게 합니다.
아래 그림은 '왼쪽에서 오른쪽' 환경에서 구체화된 모서리에 anchor 위치를 보여주고 있습니다.
아래 방법으로 anchor offset을 표현할 수 있습니다.
아래 코드는 기본적인 badge 생성과 이 badge를 아이템의 top trailing 코너에 추가하는 것을 보여주고 있습니다.
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: "badge",
containerAnchor: badgeAnchor)
let item = NSCollectionLayoutItem(layoutSize: itemSize,
supplementaryItems: [badge])
컬렉션 뷰에 있는 아이템에 badge 혹은 프레임과 같은 추가적인 시각적 장식을 더하기 위해 사용되는 객체입니다.
https://developer.apple.com/documentation/uikit/nscollectionlayoutsupplementaryitem
https://velog.io/@panther222128/NSCollectionLayoutSupplementaryItem
컬렉션 뷰에 헤더 혹은 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