SwiftUI初级课程(二十四)LazyHStack,LazyVStack

本文深入探讨了SwiftUI中的LazyHStack和LazyVStack组件,解释了它们如何用于优化大型视图数组的性能。通过实例,展示了如何使用这两个组件在iOS应用中创建滚动效果,并讨论了它们在内存管理和用户体验方面的优势。
摘要由CSDN通过智能技术生成
// LazyHStack,LazyVStack//懒加载,仅滚动到视图时,才显示
struct MyCell: View // 定义一个结构体 拥有一个整型属性,作为元素的标识符
{
    var cellIndex: Int
    init(cellIndex: Int) {
        self.cellIndex = cellIndex
        print("cell\(cellIndex)初始化") // 初始化时,控制台输出
    }

    var body: some View {
        Text("当前行是:\(cellIndex)")
    }
}

struct HeaderView: View // 定义一个结构体,作为section的header
{
    var body: some View {
        Text("头部视图")
            .padding()
            .font(.title)
            .foregroundColor(.white)
            .frame(maxWidth: .infinity)
            .background(.purple)
    }
}

struct ContentView: View {
    var body: some View {
        ScrollView // 滚动视图,作为LazyVStack的容器
            {
                LazyVStack(alignment: .leading, spacing: 20, pinnedViews: [.sectionHeaders], content: {
                    Section(header: HeaderView()) // 初始化一个section视图,固定显示在顶部
                  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

薄衫岁月长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值