在SwiftUI beta 7中,要在添加条目时触发List
滚动,可以使用ScrollViewReader
和ScrollViewProxy
来实现。
首先,需要在List
外部包裹一个ScrollViewReader
,并将其绑定到一个@State
属性上,以便在需要时滚动到指定位置。
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
属性的值来实现滚动。例如,可以在按钮的动作方法中添加以下代码:
Button("Add Item") {
scrollToIndex = 10 // 滚动到索引为10的位置
}
这样,当点击"Add Item"按钮时,列表将滚动到索引为10的位置。
这种方法可以用于在列表中动态添加条目时,自动滚动到最新添加的条目位置。
关于SwiftUI的更多信息,可以参考腾讯云的官方文档:SwiftUI开发指南。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云