SwiftUI滚动视图和对齐
好吧,我知道SwiftUI是一种思维的转变,尤其是来自HTML和css的世界。但我已经花了4天的时间试图找到一些工作,我觉得应该很容易,只是不能,所以请帮助 我有一个应用程序,其中一个屏幕是一个结果表,动态数据可以是一行或两行/列,也可以是数百行/列。所以我希望能够在桌子很大的情况下滚动 我复制了我的设置,并在这样一个快速的操场上重现了我的问题SwiftUI滚动视图和对齐,swiftui,scrollview,platform-specific,Swiftui,Scrollview,Platform Specific,好吧,我知道SwiftUI是一种思维的转变,尤其是来自HTML和css的世界。但我已经花了4天的时间试图找到一些工作,我觉得应该很容易,只是不能,所以请帮助 我有一个应用程序,其中一个屏幕是一个结果表,动态数据可以是一行或两行/列,也可以是数百行/列。所以我希望能够在桌子很大的情况下滚动 我复制了我的设置,并在这样一个快速的操场上重现了我的问题 import Foundation import UIKit import PlaygroundSupport import SwiftUI stru
import Foundation
import UIKit
import PlaygroundSupport
import SwiftUI
struct ContentView : View {
var cellSize: CGFloat = 50
var numRows: Int = 3
var numCols: Int = 3
var body : some View {
ZStack {
ScrollView([.horizontal,.vertical]) {
HStack( spacing: 0) {
VStack ( spacing: 0) {
ForEach(0 ..< numRows, id: \.self) { row in
Text("row " + row.description)
.frame( height: self.cellSize )
}
}
ForEach(0 ..< self.numCols, id: \.self) { col in
VStack( spacing: 0) {
ForEach(0 ..< self.numRows, id: \.self) { row in
Rectangle()
.stroke(Color.blue)
.frame( width: self.cellSize, height: self.cellSize )
}
}
}
}
.frame( alignment: .topLeading)
}
}
}
}
let viewController = UIHostingController(rootView: ContentView())
PlaygroundPage.current.liveView = viewController
<代码>导入基础
导入UIKit
导入PlaygroundSupport
导入快捷键
结构ContentView:View{
变量单元格大小:CGFloat=50
变量numRows:Int=3
变量numCols:Int=3
var body:一些观点{
ZStack{
滚动视图([.水平,.垂直]){
HStack(间距:0){
VStack(间距:0){
ForEach(0...frame(alignment:.topLeading)
不会导致表格与屏幕左上角对齐
更糟糕的是,一旦那张桌子变大,我得到的是:
我做错了什么?在这里的各种视图上尝试所有不同的
frame
和alignment
选项,我已经筋疲力尽了。下面的主题可能会有所帮助。我也有这个问题。这似乎发生在滚动视图中的StackView中。这一定是SwiftUI中的bug,所以不幸的是我们不能做太多。。。你可以尝试上面的解决方案,但这并不理想。我担心我们将不得不等待修复…看到了吗