我有一个 SwiftUI 项目。对于除一种视图之外的所有视图,我想允许纵向和仅纵向模式。对于只有一种视图,我想同时允许纵向和横向。Swift 上有一些资源,但我在 SwiftUI 上找不到任何资源。
有没有人找到一种方法来实现这一点?
我正在使用 SwiftUI 绘制一个表格,该表格的行和列太多,无法适应屏幕宽度/高度。在这种情况下,我无法将视图对齐为领先,但不知何故始终居中。我怎样才能将他们排在首位?这是绘制表格的视图:
struct TableView: View {
let columnCount: Int = 9
let rowCount: Int = 14
var body: some View {
VStack(alignment: .leading, spacing: 20) {
ScrollView([.vertical, .horizontal], showsIndicators: false) {
GridStack(rows: self.rowCount, columns: self.columnCount) { row, col in
Text("ROW \(String(row)) COL \(String(col))")
.frame(width: 120)
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是 GridStack:
struct GridStack<Content: View>: View {
let rows: Int
let columns: Int
let content: (Int, Int) -> Content
var body: some View {
VStack(alignment: .leading) {
ForEach(0 ..< …Run Code Online (Sandbox Code Playgroud)