NSCollectionLayoutAnchor
https://developer.apple.com/documentation/uikit/nscollectionlayoutanchor
"An object that defines how to attach a supplementary item to an item in a collection view."
컬렉션 뷰에 있는 아이템에 보완 아이템을 추가하는 방법을 정의하는 객체입니다.
Declaration
iOS, Mac Catalyst, tvOS
@MainActor class NSCollectionLayoutAnchor : NSObject
macOS
class NSCollectionLayoutAnchor : NSObject
Overview
특정 아이템에 보완 아이템을 추가하기 위해 anchor를 사용할 수 있습니다. anchor는 보완 아이템이 아이템 어느 곳에 추가될지에 대한 정보를 포함합니다. 아래 내용을 포함합니다.
- 모서리 혹은 모서리의 집합입니다. 하나의 모서리에 보완 아이템을 추가할 수도 있고, 두 개의 인접 모서리를 구체화해서 코너에 추가할 수도 있습니다.
- 아이템으로부터의 offset입니다. 기본값으로 보완 아이템은 아이템이 추가되는 구체화된 모서리 내에 고정됩니다. anchor 생성 시 커스텀 offset을 제공하면 이 위치를 변경시킬 수 있습니다.
Edges
anchor에 대한 leading, trailing edge는 '왼쪽에서 오른쪽', '오른쪽에서 왼쪽' 각각의 환경에서 다릅니다. '왼쪽에서 오른쪽' 환경에서 leading edge는 왼쪽에 있고 trailing edge는 오른쪽에 있습니다. '오른쪽에서 왼쪽' 환경에서 leading edge는 오른쪽에 있고 trailing edge는 왼쪽에 있습니다. 이 차이는 컬렉션 뷰 레이아웃이 오른쪽에서 왼쪽으로 읽는 언어를 지원하는 빌드를 가능하게 합니다.
아래 그림은 '왼쪽에서 오른쪽' 환경에서 구체화된 모서리에 anchor 위치를 보여주고 있습니다.
Offset
아래 방법으로 anchor offset을 표현할 수 있습니다.
- 절대적 값입니다. offset은 포인트 값으로 계산됩니다. 예를 들어 30.0의 절대적 값 x offset은 보완 뷰의 원점이 양의 x 방향에서 30 포인트 만큼의 offset임을 의미합니다.
- 비율 값입니다. offset은 보완 아이템 차원의 비율로 계산됩니다. 예를 들어 0.3의 비율 x offset은 보완 아이템의 원점이 양의 x 방향에서 보완 아이템 넓이의 30% 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])
See Also
Appearance
NSCollectionLayoutSupplementaryItem
컬렉션 뷰에 있는 아이템에 badge 혹은 프레임과 같은 추가적인 시각적 장식을 더하기 위해 사용되는 객체입니다.
https://developer.apple.com/documentation/uikit/nscollectionlayoutsupplementaryitem
https://velog.io/@panther222128/NSCollectionLayoutSupplementaryItem
NSCollectionLayoutBoundarySupplementaryItem
컬렉션 뷰에 헤더 혹은 footer를 추가하기 위해 사용되는 객체입니다.
https://developer.apple.com/documentation/uikit/nscollectionlayoutboundarysupplementaryitem
https://velog.io/@panther222128/NSCollectionLayoutBoundarySupplementaryItem
NSCollectionLayoutDecorationItem
컬렉션 뷰의 섹션에 백그라운드를 추가하기 위해 사용되는 객체입니다.
https://developer.apple.com/documentation/uikit/nscollectionlayoutdecorationitem
https://velog.io/@panther222128/NSCollectionLayoutDecorationItem
Author And Source
이 문제에 관하여(NSCollectionLayoutAnchor), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@panther222128/NSCollectionLayoutAnchor저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)