我有以下代码:
import SwiftUI
struct ContentView: View {
var isShowingImage = true
var body: some View {
VStack(alignment: .leading) {
HStack {
Text("Lorem ipsum").fontWeight(.bold).lineLimit(1).border(Color.green)
if isShowingImage {
Image(systemName: "star.fill")
.resizable()
.frame(width: 16, height: 16).border(Color.blue)
}
}.border(Color.black)
Text("Ad veritatis totam asperiores est error. Dolore perspiciatis unde aut.").lineLimit(1).border(Color.purple)
Text("Dolorem illum").font(.footnote).border(Color.red)
}.padding()
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
HStack {
ContentView()
ContentView(isShowingImage: false)
}
}
}
这将产生以下结果:
如果isShowingImage
为true,则显示图像。这还会在第一个HStack
和文本“广告验证”之间添加填充。如果未显示图像,则没有填充。造成填充的原因是什么?
答案 0 :(得分:1)
不确定是什么原因导致的,但是如果使用VStack(alignment: .leading, spacing: 0)
,空格就会消失
答案 1 :(得分:0)
答案是,有默认间距之类的东西。如果您将堆栈间距保留为零,那么堆栈将选择默认间距。