WrappingHStack
2.2.11
WrappingHStack은 HStack과 매우 유사한 방식으로 작동하지만 오버플로된 요소를 다음 줄에 자동으로 배치하는 UI 요소입니다.
WrappingHStack {
Text ( " WrappingHStack " )
. padding ( )
. font ( . title )
. border ( Color . black )
Text ( " can handle different element types " )
Image ( systemName : " scribble " )
. font ( . title )
. frame ( width : 200 , height : 20 )
. background ( Color . purple )
Text ( " and loop " )
. bold ( )
WrappingHStack ( 1 ... 20 , id : . self ) {
Text ( " Item: ( $0 ) " )
. padding ( 3 )
. background ( Rectangle ( ) . stroke ( ) )
} . frame ( minWidth : 250 )
}
. padding ( )
. border ( Color . black )
요구사항 iOS 13 이상
. package ( url : " https://github.com/dkk/WrappingHStack " , . upToNextMajor ( from : " 2.0.0 " ) )
Podfile
에 다음 줄을 추가하기만 하면 됩니다.
pod 'WrappingHStack'
WrappingHStack 패키지를 뷰로 가져옵니다.
import WrappingHStack
단일 요소에 HStack을 사용하는 것처럼 사용하십시오.
WrappingHStack {
/* some views */
NewLine ( ) // Optional: Use NewLine to force the next element to be placed in a next line
/* some more views */
}
또는 항목을 반복하는 ForEach와 같습니다.
WrappingHStack ( 1 ... 30 , id : . self ) {
Text ( " Item: ( $0 ) " )
}
항목의 HorizontalAlignment
설정하는 정렬 매개 alignment
사용하여 항목의 위치를 제어합니다. 즉, 선두, 후행 또는 중심입니다.
더 많은 편의성과 유연성을 위해 WrappingHSTack
간격 계산 방법을 정의하는 spacing
매개변수를 제공합니다. 다음 유형 중 하나일 수 있습니다.
.constant
: 고정 간격의 경우 각 줄은 항목으로 시작하고 두 항목 사이의 가로 간격은 지정된 값입니다..dynamic
: 항목이 WrappingHSTack의 너비를 채우도록 합니다. 최소한의 간격을 전달할 수 있습니다..dynamicIncludingBorders
항목 사이와 항목에서 테두리까지 동일한 간격으로 전체 너비를 채웁니다. 최소한의 간격을 전달할 수 있습니다. NavigationLink
에서 WrappingHStack
사용할 때 해결 방법이 필요합니다(iOS16에만 해당).보고된 문제나 기능 요청을 해결하는 데 도움을 주고 풀 요청을 생성하여 이 프로젝트에 기여할 수 있습니다.
이 프로젝트를 후원하여 보상을 받고 도덕적 고양을 받으세요.
WrappingHStack은 원래 Daniel Klöck이 개발했으며 MIT 라이센스에 따라 출시되었습니다.