Lazy stack’lar
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() } }
}
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() } }
}
Yuqoridagi misolda LazyHStack samarali karusellar yaratish uchun gorizontal ScrollView ichida ishlatilgan.
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
