swiftui - 创建类似网格的视图,其中网格中的项目位置在 SwiftUI 中是固定的
问题描述
我正在尝试使用 SwiftUI 重新创建 BlockPuzzle 应用程序。我在尝试使用 VStacks 和 HStacks 创建游戏棋子方块以使其具有固定位置时遇到问题。我想有条件地显示一个视图,但如果视图没有显示,那么每个视图的位置都会由于 swiftUIs 自适应定位而改变。有谁知道我可以做到这一点?
我想创建这个: 我希望游戏片段看起来如何
这就是我所说的方块的移动方式: 我的棋子版本
如果您查看我的版本,底部的中间部分有一个块被 swiftUI 移动到中间,但我希望它与第一列保持对齐。
这是代码:
var body: some View {
VStack {
ForEach(model, id: \.self) { row in
HStack {
ForEach(row, id: \.self) { block in
if block == false {
EmptyView()
} else {
BlockView()
}
}
}
}
}
}
模型是布尔数组的二维数组。我猜假的条件是我试图修复的地方。
解决方案
推荐阅读
- python - Python从dict创建对象列表
- c# - 需要在发送到核心 2 中的 API 之前修改查询参数
- autocad-plugin - 为什么加载我的 dll 后我的自定义命令没有显示在 AutoCAD 控制台中
- mysql - MySQL中的距离计算与Great Circle Mapper不同
- r - 当我尝试从 tif 文件中提取值时,为什么会得到 NA?
- spring-boot - 控制器类找不到 html 模板
- google-apps-script - 使用按钮清除日期早于今天的行的内容
- java - 线程“主”java.security.NoSuchAlgorithmException 中的异常:找不到任何支持 MyCipher 的提供程序
- llvm - 从源代码为 Ubuntu Bionic Beaver 构建 LLVM 的步骤是什么?
- javascript - 如何使每个图像具有不同的间隔 bxslider 以及时间间隔使用 localstorage