WrappingHStack adalah Elemen UI yang bekerja dengan cara yang sangat mirip dengan HStack, tetapi secara otomatis memposisikan elemen yang melimpah di baris berikutnya.
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 )
Persyaratan iOS 13+
. package ( url : " https://github.com/dkk/WrappingHStack " , . upToNextMajor ( from : " 2.0.0 " ) )
Cukup tambahkan baris berikut ke Podfile
Anda:
pod 'WrappingHStack'
Impor paket WrappingHStack ke tampilan Anda:
import WrappingHStack
gunakan seperti Anda menggunakan HStack untuk elemen tunggal:
WrappingHStack {
/* some views */
NewLine ( ) // Optional: Use NewLine to force the next element to be placed in a next line
/* some more views */
}
atau seperti ForEach untuk mengulang item:
WrappingHStack ( 1 ... 30 , id : . self ) {
Text ( " Item: ( $0 ) " )
}
Anda mengontrol posisi item dengan menggunakan parameter alignment
, yang mengatur HorizontalAlignment
item. Yaitu memimpin, mengikuti atau terpusat.
Untuk kenyamanan dan fleksibilitas lebih, WrappingHSTack
menawarkan parameter spacing
, yang menentukan cara penghitungan spasi. Ini bisa berupa salah satu dari jenis berikut:
.constant
: untuk spasi tetap, setiap baris dimulai dengan sebuah item dan pemisahan horizontal antara 2 item adalah nilai yang diberikan..dynamic
: agar item memenuhi lebar WrappingHStack. Anda dapat melewati jarak minimal..dynamicIncludingBorders
untuk mengisi lebar penuh dengan jarak yang sama antar item dan dari item ke perbatasan. Anda dapat melewati jarak minimal. WrappingHStack
di NavigationLink
(khusus iOS16).Anda dapat berkontribusi pada proyek ini dengan membantu saya memecahkan masalah apa pun yang dilaporkan atau permintaan fitur dan membuat permintaan tarik.
Sponsori proyek ini untuk mendapatkan hadiah dan memberi saya dorongan moral.
WrappingHStack awalnya dikembangkan oleh Daniel Klöck dan dirilis di bawah Lisensi MIT.