Grid’lar


ULASHISH

SwiftUI maket: grid’lar

Elementlarni moslashuvchan grid maketlarida joylashtirish uchun LazyVGrid va LazyHGrid dan foydalaning.


Lazy grid’lar

Lazy grid’lar ko‘p sonli elementlarni grid ko‘rinishida ko‘rsatish uchun ishlatiladi.

Sintaksis:

  • LazyVGrid(columns: columns, spacing: 12)
  • LazyHGrid(rows: rows, spacing: 12)

Misol

import SwiftUI

struct GridDemo: View {
  let columns = [GridItem(.flexible()), GridItem(.flexible())]
  var body: some View {
    LazyVGrid(columns: columns, spacing: 12) {
      ForEach(1...6, id: \.self) { i in
        Text("Item \(i)")
          .frame(maxWidth: .infinity)
          .padding(12)
          .background(.blue.opacity(0.1))
          .cornerRadius(8)
      }
    }.padding()
  }
}
import SwiftUI

struct ContentView: View {
  var body: some View { GridDemo() }
}
import SwiftUI

@main
struct MyApp: App {
  var body: some Scene { WindowGroup { ContentView() } }
}

Misolni ishga tushirish »

Yuqoridagi misolda grid har biri moslashuvchan kenglikka ega ikki ustunli LazyVGrid yordamida yaratilgan.



Moslashuvchan (adaptive) grid

Joy imkon bergancha har bir qatorga ko‘proq element sig‘dirish uchun adaptive ustunlardan foydalaning.

Sintaksis:

  • [GridItem(.adaptive(minimum: 100))]
  • LazyVGrid(columns: columns) { ... }

Misol

import SwiftUI

struct AdaptiveGridDemo: View {
  let columns = [GridItem(.adaptive(minimum: 100), spacing: 12)]
  var body: some View {
    LazyVGrid(columns: columns, spacing: 12) {
      ForEach(1...12, id: \.self) { i in
        Text("Card \(i)")
          .frame(maxWidth: .infinity, minHeight: 60)
          .background(.green.opacity(0.12))
          .cornerRadius(8)
      }
    }
    .padding()
  }
}
import SwiftUI

struct ContentView: View {
  var body: some View { AdaptiveGridDemo() }
}
import SwiftUI

@main
struct MyApp: App {
  var body: some Scene { WindowGroup { ContentView() } }
}

Misolni ishga tushirish »

Yuqoridagi misolda grid har birining minimal kengligi 100 point bo‘lgan adaptive ustunli LazyVGrid yordamida yaratilgan.



W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!