为什么 SwiftUI Image 添加额外的填充来封闭 VStack?
Why SwiftUI Image add an extra padding to enclosing VStack?
我正在努力解决一个非常简单的问题。如果我将文本放入 VStack,则顶部没有填充。如果我现在放一个图像,我有一个填充。请参阅以下屏幕截图:
对应的代码为:
struct NewView: View {
var body: some View {
VStack(alignment: .leading) {
Text("Some title")
.font(.headline)
VStack {
Text("Some text")
.font(.headline)
.padding(.leading)
.frame(maxWidth: .infinity)
.background(Color.yellow)
}
.padding()
.background(Color(white: 0.90))
.cornerRadius(10)
Divider()
.padding(.vertical)
Text("Some title")
.font(.headline)
VStack {
Image(systemName: "1.circle.fill")
.resizable()
.fixedSize()
.frame(maxWidth: .infinity)
.background(Color.yellow)
}
.padding()
.background(Color(white: 0.90))
.cornerRadius(10)
}
}
}
答案可能很简单。我错过了什么?
在此先感谢您的帮助。
不同的UI元素之间有不同的默认填充,如果你想要明确的,使用spacing
如下
VStack(alignment: .leading, spacing: 0) {
我正在努力解决一个非常简单的问题。如果我将文本放入 VStack,则顶部没有填充。如果我现在放一个图像,我有一个填充。请参阅以下屏幕截图:
对应的代码为:
struct NewView: View {
var body: some View {
VStack(alignment: .leading) {
Text("Some title")
.font(.headline)
VStack {
Text("Some text")
.font(.headline)
.padding(.leading)
.frame(maxWidth: .infinity)
.background(Color.yellow)
}
.padding()
.background(Color(white: 0.90))
.cornerRadius(10)
Divider()
.padding(.vertical)
Text("Some title")
.font(.headline)
VStack {
Image(systemName: "1.circle.fill")
.resizable()
.fixedSize()
.frame(maxWidth: .infinity)
.background(Color.yellow)
}
.padding()
.background(Color(white: 0.90))
.cornerRadius(10)
}
}
}
答案可能很简单。我错过了什么? 在此先感谢您的帮助。
不同的UI元素之间有不同的默认填充,如果你想要明确的,使用spacing
如下
VStack(alignment: .leading, spacing: 0) {