Lazy stack’lar


ULASHISH

SwiftUI maket: lazy stack’lar

Ko‘p sonli view’lardan iborat ro‘yxatlarni talab bo‘yicha samarali render qilish uchun LazyVStack/LazyHStack dan foydalaning.


Lazy stack’lar

Lazy stack’lar ko‘p sonli view’lardan iborat ro‘yxatlarni talab bo‘yicha samarali render qilish uchun ishlatiladi.

Sintaksis:

  • LazyVStack { ForEach(...) { ... } }
  • LazyHStack { ForEach(...) { ... } }

Misol

import SwiftUI

struct LazyStacksDemo: View {
  var body: some View {
    ScrollView {
      LazyVStack(spacing: 8) {
        ForEach(1...100, id: \.self) { i in
          Text("Row \(i)").frame(maxWidth: .infinity, alignment: .leading).padding(8)
            .background(.gray.opacity(0.1)).cornerRadius(6)
        }
      }.padding()
    }
  }
}
import SwiftUI

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

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

Misolni ishga tushirish »

Yuqoridagi misolda LazyVStack ko‘p sonli view’lardan iborat ro‘yxatni talab bo‘yicha samarali render qilish uchun ishlatilgan.



Gorizontal lazy stack

Samarali karusellar uchun gorizontal ScrollView ichida LazyHStack dan foydalaning.

Sintaksis:

  • ScrollView(.horizontal) { LazyHStack { ForEach(...) { ... } } }

Misol

import SwiftUI

struct LazyHStackDemo: View {
  var body: some View {
    ScrollView(.horizontal) {
      LazyHStack(spacing: 12) {
        ForEach(1...50, id: \.self) { i in
          Text("Card \(i)")
            .padding(16)
            .background(.blue.opacity(0.1))
            .cornerRadius(8)
        }
      }.padding()
    }
  }
}
import SwiftUI

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

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

Misolni ishga tushirish »

Yuqoridagi misolda LazyHStack samarali karusellar yaratish uchun gorizontal ScrollView ichida ishlatilgan.



W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!