SwiftUI 2.0 LazyVGrid和LazyHGrid 深入使用教程含源碼

基礎介紹

SwiftUI的LazyVGrid和LazyHGrid爲我們提供了相當靈活的網格佈局,但它們僅適用於iOS 14或更高版本。

使用思路

最簡單的網格由三部分組成:原始數據,描述所需佈局的GridItem數組以及將數據和佈局組合在一起的LazyVGrid或LazyHGrid。

核心組件

GridItem size類型

GridItem Size有三個類型

  • fixed
    具有指定固定大小的單個項目
  • flexible
    一個靈活的項目。
case flexible(minimum: CGFloat = 10, maximum: CGFloat = .infinity)
  • adaptive
    在一個靈活項目中有多個項目。這種大小的情況下,使用提供的邊界和間距確定可以容納多少個項目,將一個或多個項目放置在分配給單個“靈活”項目的空間中。 這種方法傾向於插入儘可能多的“最小”尺寸的項目,但允許它們增加到“最大”尺寸。

使用代碼

1、adaptive儘可能的多塞入

struct Grid01: View {
    let colors: [Color] = [.red, .blue, .green]

    let columns = [
        GridItem(.adaptive(minimum: 40))
    ]

    var body: some View {
        ScrollView {

            LazyVGrid(columns: columns, spacing: 10) {
                ForEach(0...1000, id: \
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章