有没有办法消除SwiftUI中填充的外部边缘?

时间:2020-09-28 16:41:45

标签: swift swiftui padding

所以我注意到在使用padding()时,它会在视图框架外部创建外部空间/边缘。 是否有消除外部边缘的方法?

这里是.padding(.top, 0) enter image description here

这里.padding(.top, 1)出现了额外的外部边缘 enter image description here

在这里.padding(.top, 10)的外边缘仍保留在距我看到的1px以上的任何填充上。

enter image description here

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
        }
    }
}

enter image description here

1 个答案:

答案 0 :(得分:1)

发生这种情况的原因是因为VStack自动具有自己的间距。替换:

VStack {
    /* ... */
}

具有:

VStack(spacing: 0) {
    /* ... */
}

这将删除VStack中每个视图之间的填充。我假设SwiftUI假设,如果您想填充0,则希望它们触摸,否则,您可能希望从VStack内自己的空间填充。