swiftui - swiftui间距不符合预期
问题描述
我的代码如下:
import SwiftUI
struct DotView: View {
var body: some View {
GeometryReader { geo in
let width = geo.size.width
VStack() {
Circle()
.frame(width: width, height: width)
Spacer()
Circle()
.frame(width: width, height: width)
}
}
}
}
struct TestView: View {
var body: some View {
GeometryReader { geo in
VStack() {
HStack() {
Text("11")
DotView()
.frame(width: 8, height: 23, alignment: .center)
Text("22")
}
.font(.system(size: 48))
.background(Color.gray)
HStack() {
Text("123456789")
}
.font(.system(size: 30))
.background(Color.gray)
}
.frame(width: geo.size.width, height: geo.size.height)
.background(Color.blue)
}
}
}
struct TestView_Previews: PreviewProvider {
static var previews: some View {
TestView()
.frame(width: 200, height: 200, alignment: .center)
.cornerRadius(23.0)
}
}
视图如下图,“11:22”和“123456789”之间有间距
但是,当我将视图评论DotView
为以下代码时:
struct TestView: View {
var body: some View {
GeometryReader { geo in
VStack() {
HStack() {
Text("11")
// DotView()
// .frame(width: 8, height: 23, alignment: .center)
Text("22")
}
.font(.system(size: 48))
.background(Color.gray)
HStack() {
Text("123456789")
}
.font(.system(size: 30))
.background(Color.gray)
}
.frame(width: geo.size.width, height: geo.size.height)
.background(Color.blue)
}
}
}
间距消失。为什么这个 DotView 会影响间距?
解决方案
推荐阅读
- sql-server - 带有 GUID 全零的 MS SQL 表
- reactjs - 误报 eslint(no-unused-vars)
- javascript - 在调用另一个函数之前等待父状态更新
- installation - Tidal Cycles cabal 安装失败
- node.js - 在承诺链中调用 process.exit() 的正确位置
- java - 与 AES-CTR 相比,Java AES-GCM 非常慢
- delphi - 如何在blob中写入txt文件
- database - 可以使用什么服务来限制物联网设备连接到数据库的数量?
- c# - C#在包含另一个列表的对象列表中查找重复属性
- adonis.js - 无法获取请求,文件()在 adonisjs 帖子中工作