删除HStack中的填充项

时间:2020-09-23 15:46:49

标签: xcode swiftui

我试图定义一个子视图,它是三个按钮,每个按钮都位于一个圆角矩形内。 第一个按钮是固定宽度,其他两个按钮应共享剩余宽度。 这就是我得到的: enter image description here

您会看到按钮之间有一些填充,尽管两个较大的按钮的尺寸正确,但是填充使整个东西太宽。

这是我的SwiftUI代码:

struct TopBarView: View {
var body: some View {
    GeometryReader { geometry in
        HStack {
            ZStack {
                RoundedRectangle(cornerRadius: 8, style: .continuous )
                    .stroke()
                    
                Button(action: sideMenu) {
                    Image(systemName: "line.horizontal.3")
                }
            }.frame(width: 48, height: 48, alignment: .center)
            
            ZStack {
                RoundedRectangle(cornerRadius: 8, style: .continuous)
                    .stroke()
                
                Button(action: sideMenu) {
                    Text( "First")
                }
            }.frame(width: (geometry.size.width - 48)/2, height: 48)
            
            ZStack {
                RoundedRectangle(cornerRadius: 8, style: .continuous)
                    .stroke()
    
                Button(action: sideMenu) {
                    Text( "Second")
                }
            }.frame(width: (geometry.size.width - 48)/2, height: 48)
        }
    }
}

func sideMenu() -> Void {
    
}

}

所以我的问题是-消除按钮之间的间隙以使所有东西都合适的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

您可以将spacing参数传递给HStack来删除间距,如下所示:

HStack(spacing: 0) { 
    //some content
}