swiftUI ScrollView自动滚动
时间: 2023-08-27 08:05:42 浏览: 64
你可以使用 `ScrollViewReader` 和 `onAppear` modifier 来实现 ScrollView 的自动滚动。你可以在 `ScrollView` 内部添加一个 `ScrollViewReader`,然后在需要滚动到的视图上添加一个 id,最后使用 `ScrollViewReader` 的 `scrollTo` 方法滚动到指定视图。
例如,下面的代码使用 `onAppear` modifier 来滚动到第一个视图:
```swift
struct ContentView: View {
var body: some View {
ScrollView {
ScrollViewReader { scrollView in
VStack {
ForEach(0..<20) { i in
Text("Item \(i)")
.padding()
.id(i)
}
}
.onAppear {
scrollView.scrollTo(0)
}
}
}
}
}
```
这将在加载时滚动到第一个视图。你可以在 `onAppear` 中使用其他条件来自动滚动到不同的视图。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)