![](/img/trans.png)
[英]SwiftUI: Pin headers in scrollview which has vertical and horizontal scroll in excel like view
[英]SwiftUI ScrollView vertical and horizontal scroll
我有一個滾動視圖,我想根據@State 更改滾動的方向。
struct HomeScreen: View {
@State var isVertical: Boolean = true
var body: some View {
VStack{
Button(action: {
self.isVertical.toggle()
}) {
Text("press me")
}.padding()
ScrollView(self.isVertical == true ? .horizontal : .vertical, showsIndicators: true){
if(self.isVertical){
HStack {
Text("a")
Text("b")
Text("c")
Text("d")
Spacer()
}
} else {
VStack{
Text("a")
Text("b")
Text("c")
Text("d")
}
}
}.padding()
}
}
當第一次在這個屏幕上滾動視圖是垂直的時,只要我點擊按鈕並反轉 state,滾動視圖就會改變並變得瘋狂,垂直和水平滾動。 我究竟做錯了什么? 我希望基於您正在垂直或水平滾動的那個。 非常感謝
這是固定的變體(也更正了isVertical
的處理以符合含義)
使用 Xcode 11.4 / iOS 13.4 測試
struct HomeScreen: View {
@State var isVertical: Bool = true
var body: some View {
VStack{
Button(action: {
self.isVertical.toggle()
}) {
Text("press me")
}.padding()
ScrollView(self.isVertical ? .vertical : .horizontal, showsIndicators: true){
if(self.isVertical){
VStack {
Text("a")
Text("b")
Text("c")
Text("d")
Spacer()
}
} else {
HStack{
Text("a")
Text("b")
Text("c")
Text("d")
}
}
}.id(isVertical) // << main part !!
.padding()
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.