有没有办法消除 SwiftUI 中填充的外边缘?
Is there a way to eliminate outside edge of padding in SwiftUI?
所以我注意到在使用 padding() 时它会在视图框架外创建一个外部 space/edge。 有没有办法消除那个外边?
这里是.padding(.top, 0)
这是.padding(.top, 1)
额外的外边出现了
这是 .padding(.top, 10)
我看到的外边保留在 1px 以上的任何填充上。
import SwiftUI
struct TestView: View {
var body: some View {
VStack {
Text("")
.frame(width: 300, height: 20)
.background(Color(.black))
.cornerRadius(10)
Text("")
.frame(width: 300, height: 20)
.background(Color(.black))
.cornerRadius(10)
.padding(.top, 0)//here you can change the 0 to 1
}
}
}
发生这种情况的原因是 VStack
自动具有自己的间距。替换:
VStack {
/* ... */
}
与:
VStack(spacing: 0) {
/* ... */
}
这将删除 VStack
中每个视图之间的填充。我假设 SwiftUI 假设如果你想要 0
填充,你希望它们接触,否则你可能想要从 VStack
.
中它自己的 space 中填充
所以我注意到在使用 padding() 时它会在视图框架外创建一个外部 space/edge。 有没有办法消除那个外边?
这里是.padding(.top, 0)
这是.padding(.top, 1)
额外的外边出现了
这是 .padding(.top, 10)
我看到的外边保留在 1px 以上的任何填充上。
import SwiftUI
struct TestView: View {
var body: some View {
VStack {
Text("")
.frame(width: 300, height: 20)
.background(Color(.black))
.cornerRadius(10)
Text("")
.frame(width: 300, height: 20)
.background(Color(.black))
.cornerRadius(10)
.padding(.top, 0)//here you can change the 0 to 1
}
}
}
发生这种情况的原因是 VStack
自动具有自己的间距。替换:
VStack {
/* ... */
}
与:
VStack(spacing: 0) {
/* ... */
}
这将删除 VStack
中每个视图之间的填充。我假设 SwiftUI 假设如果你想要 0
填充,你希望它们接触,否则你可能想要从 VStack
.