Uma vista do layout da grade em cascata para Swiftui.
Você pode criar uma grade que exibe os elementos da coleção passando sua coleção de dados e um fechamento que fornece uma visualização para cada elemento da coleção. A grade transforma cada elemento da coleção em uma visão infantil usando o fechamento fornecido.
A CatallGrid trabalha com dados identificáveis (como swiftu.list). Você pode tornar seus dados identificáveis de duas maneiras: passando junto com seus dados, um caminho -chave para uma propriedade que identifica exclusivamente cada elemento ou fazendo com que seu tipo de dados esteja em conformidade com o protocolo identificável.
Exemplo 1
Uma grade de visualizações da Image do tipo de uma coleção de dados identificados por um caminho -chave.
WaterfallGrid ( ( 0 ..< 10 ) , id : . self ) { index in
Image ( " image ( index ) " )
. resizable ( )
. aspectRatio ( contentMode : . fit )
}Exemplo 2
Uma grade de visualizações do tipo RectangleView de uma coleção de dados Identifiable .
WaterfallGrid ( rectangles ) { rectangle in
RectangleView ( rectangle : rectangle )
}Ou, para casos simples como este, apenas:
WaterfallGrid ( rectangles , content : RectangleView . init ) Para personalizar a aparência da grade, chama a função gridStyle e passe os parâmetros que você deseja personalizar.
Colunas
WaterfallGrid ( cards ) { card in
CardView ( card : card )
}
. gridStyle ( columns : 2 ) WaterfallGrid ( cards , content : CardView . init )
. gridStyle (
columnsInPortrait : 2 ,
columnsInLandscape : 3
)Espaçamento e preenchimento
WaterfallGrid ( rectangles , content : RectangleView . init )
. gridStyle ( spacing : 8 )
. padding ( EdgeInsets ( top : 16 , leading : 8 , bottom : 16 , trailing : 8 ) )Animação
WaterfallGrid ( rectangles , content : RectangleView . init )
. gridStyle ( animation : . easeInOut ( duration : 0.5 ) )Incorporar na opção ScrollView & Indicators
ScrollView ( showsIndicators : true ) {
WaterfallGrid ( rectangles , content : RectangleView . init )
}Direção de rolagem horizontal
ScrollView ( . horizontal ) {
WaterfallGrid ( rectangles , content : RectangleView . init )
. scrollOptions ( direction : . horizontal )
} ScrollView ( . horizontal , showsIndicators : false ) {
WaterfallGrid ( cards ) { card in
CardView ( card : card )
}
. gridStyle (
columnsInPortrait : 2 ,
columnsInLandscape : 3 ,
spacing : 8 ,
animation : . easeInOut ( duration : 0.5 )
)
. scrollOptions ( direction : . horizontal )
. padding ( EdgeInsets ( top : 16 , leading : 8 , bottom : 16 , trailing : 8 ) )
} Explore o aplicativo WaterfallGridSample para alguns exemplos mais detalhados e interativos.
Dependência do aplicativo
Selecione Arquivo> Pacotes Swift> Adicionar dependência do pacote e insira o URL do repositório (adicionando dependências de pacotes ao seu aplicativo)
Dependência do pacote
Adicione -o como uma dependência dentro do seu Package.swift Manifesto:
dependencies: [
. package ( url : " https://github.com/paololeonardi/WaterfallGrid.git " , from : " 1.1.0 " )
] Você pode instalar WaterfallGrid via Cocoapods, adicionando a seguinte linha ao seu Podfile :
pod 'WaterfallGrid' , '~> 1.1.0' Execute o comando pod install para baixar a biblioteca e integrá -lo ao seu projeto Xcode.
Para as versões disponíveis, consulte os lançamentos neste repositório.
As contribuições são mais do que bem -vindas. Crie um problema do GitHub antes de enviar uma solicitação de tração para planejar e discutir a implementação.
A Catallgrid foi inspirada nos seguintes projetos:
A Catallgrid está disponível sob a licença do MIT. Consulte o arquivo de licença para obter mais informações.