我试图定义一个子视图,它是三个按钮,每个按钮都位于一个圆角矩形内。 第一个按钮是固定宽度,其他两个按钮应共享剩余宽度。 这就是我得到的:
您会看到按钮之间有一些填充,尽管两个较大的按钮的尺寸正确,但是填充使整个东西太宽。
这是我的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 {
}
}
所以我的问题是-消除按钮之间的间隙以使所有东西都合适的正确方法是什么?
答案 0 :(得分:2)
您可以将spacing
参数传递给HStack
来删除间距,如下所示:
HStack(spacing: 0) {
//some content
}