首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SwiftUI beta 7:添加条目时触发`List`滚动?

在SwiftUI beta 7中,要在添加条目时触发List滚动,可以使用ScrollViewReaderScrollViewProxy来实现。

首先,需要在List外部包裹一个ScrollViewReader,并将其绑定到一个@State属性上,以便在需要时滚动到指定位置。

代码语言:txt
复制
struct ContentView: View {
    @State private var scrollToIndex: Int? = nil
    
    var body: some View {
        ScrollViewReader { scrollViewProxy in
            List {
                ForEach(0..<10) { index in
                    Text("Item \(index)")
                        .id(index)
                }
            }
            .onChange(of: scrollToIndex) { newIndex in
                if let index = newIndex {
                    withAnimation {
                        scrollViewProxy.scrollTo(index, anchor: .center)
                    }
                }
            }
        }
    }
}

然后,在需要触发滚动的地方,可以通过修改scrollToIndex属性的值来实现滚动。例如,可以在按钮的动作方法中添加以下代码:

代码语言:txt
复制
Button("Add Item") {
    scrollToIndex = 10 // 滚动到索引为10的位置
}

这样,当点击"Add Item"按钮时,列表将滚动到索引为10的位置。

这种方法可以用于在列表中动态添加条目时,自动滚动到最新添加的条目位置。

关于SwiftUI的更多信息,可以参考腾讯云的官方文档:SwiftUI开发指南

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

领券