如何解决是否可以使用网格在 SwiftUI 中构建一个简单的灵活视图集合?
我正在尝试构建的是非常简单和通用的组件。这是设计:
这是我迄今为止尝试过的代码:
struct ContentView: View {
var tags: [String]
var body: some View {
LazyVGrid(columns: [GridItem(.flexible(minimum: 0,maximum: .infinity)),GridItem(.flexible(minimum: 0,maximum: .infinity))]) {
ForEach(tags,id: \.self) { tag in
Button(action: { print(tag) }) {
Text(tag.title)
.lineLimit(1)
.padding(.vertical,8)
.padding(.horizontal)
.overlay(
RoundedRectangle(cornerRadius: 4)
.stroke(Color.primaryViolet,linewidth: 2)
)
}
}
}
}
}
这是我得到的:
这里有一些额外的细节:
-
tags
的数量可能与0..<infinity
不同。 - 除非单个
tag
超过网格的整个宽度,否则不应被截断。 - 每行
tags
的数量可以根据tags
的宽度而变化。 - 标签必须是
left-aligned
。
注意:如果可能,我更喜欢本机 SwiftUI
方法,而不导入任何 3rd 方库。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。