如何使用 SwiftUI 创建方形项目网格(例如在 iOS 照片库中)?
我尝试了这种方法,但它不起作用:
var body: some View {
List(cellModels) { _ in
Color.orange.frame(width: 100, height: 100)
}
}
List仍然具有UITableView风格:
iOS 14 和 Xcode 12
iOS 14 的 SwiftUI 带来了一个易于使用的新的原生网格视图,称为LazyVGrid
:
https://developer.apple.com/documentation/swiftui/lazyvgrid https://developer.apple.com/documentation/swiftui/lazyvgrid
您可以从定义一个数组开始GridItem
s。 GridItems 用于指定每列的布局属性。在这种情况下,所有 GridItem 都是灵活的。
LazyVGrid
需要一个数组GridItem
s 作为其参数,并根据定义显示包含的视图GridItems
.
import SwiftUI
struct ContentView: View {
let columns = [
GridItem(.flexible()),
GridItem(.flexible()),
GridItem(.flexible()),
GridItem(.flexible())
]
var body: some View {
ScrollView {
LazyVGrid(columns: columns) {
ForEach(0...100, id: \.self) { _ in
Color.orange.frame(width: 100, height: 100)
}
}
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)