繁体   English   中英

如何忽略父视图的填充 SwiftUI

[英]How to ignore parent view's padding SwiftUI

我有一个带有多个子视图(蓝色背景的视图)的 VStack。 VStack 具有水平填充。 我想为每个孩子都设置这个填充,但有时我有例外,我希望那个孩子完全到达显示器的边缘(“结帐”按钮上方的两条灰线)。 有什么办法可以让这种情况发生吗? 我不想分别为每个孩子设置填充。

您可以在 VStack 上应用的视图上应用负填充,这意味着如果您像这样向 VStack 应用 16 点的填充,例如.padding(16)用于所有方向,这是默认设置。 然后你可以将.padding(.horizontal,-16)应用于线条,它们将延伸到屏幕的末尾

这是您想要的行为的示例代码和屏幕截图。 截屏

struct VStackPadding: View {
    var body: some View {
        VStack{
            RoundedRectangle(cornerRadius: 4)
                .frame(width: .infinity,height: 3)
                .padding(.horizontal, -16)
                .padding(.bottom,16)
            
            RoundedRectangle(cornerRadius: 4)
                .frame(width: .infinity,height: 3)
        }.padding(16)
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM