[英]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.