Lam*_*zle 6 platform-specific scrollview swiftui
好的,我知道 SwiftUI 是一种思维转变,尤其是来自 HTML 和 css 的世界。但是我已经花了大约 4 天的时间试图让我觉得应该很容易的东西可以工作,只是不能,所以请帮忙!
我有一个应用程序,其中一个屏幕是一个结果表,动态数据可能是一两行/列,但也可能是数百。所以我希望能够在表格很大的情况下滚动。
我已经复制了我的设置并在像这样的 Swift 游乐场中重现了我的问题
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
Run Code Online (Sandbox Code Playgroud)
这是我在网格为 3x3 时得到的结果
我知道在 SwiftUI 中默认居中之类的事情,但为什么在 HStack.frame( alignment: .topLeading)上不会导致表格与屏幕的左上角对齐?
更糟糕的是,一旦该表变大,这就是我得到的:
我在这里做错了什么?在这里尝试各种视图的所有不同frame和alignment选项,我已经筋疲力尽了。
| 归档时间: |
|
| 查看次数: |
2851 次 |
| 最近记录: |