Swift 移除HStack和VStack之间的额外空间?
我的文本“Line1”下面的空间太大。我想将图像向上移动更多,但不确定如何消除所有的空间?这是一个小部件,所以希望听到任何关于如何让它的大小适当调整所有设备的建议Swift 移除HStack和VStack之间的额外空间?,swift,swiftui,widget,Swift,Swiftui,Widget,我的文本“Line1”下面的空间太大。我想将图像向上移动更多,但不确定如何消除所有的空间?这是一个小部件,所以希望听到任何关于如何让它的大小适当调整所有设备的建议 var body: some View { ZStack { Color("GoodBackground") VStack(alignment: .leading) {
var body: some View {
ZStack {
Color("GoodBackground")
VStack(alignment: .leading) {
HStack {
Text("Line1")
.foregroundColor(Color("Orange"))
.bold()
.font(.system(size: 17.5))
.padding(.top)
Spacer()
Image("CheckmarkWhiteCircle25x25")
.padding(.top)
}
.padding()
VStack(alignment: .leading) {
Image("WidgetMachine67x30")
Text("State")
.foregroundColor(Color("Toolstext"))
.font(.system(size: 15))
//.font(family == .systemLarge ? .title :
// .headline)
.padding(.top, family == .systemLarge ? -15
: 0)
Text("Last update 4.16.2021")
.foregroundColor(Color("Toolstext"))
.font(.system(size: 10))
.opacity(0.5)
Spacer()
Spacer()
}
.padding()
}
}
在第一次
VStack
上,您可以添加0
的间距
:
VStack(alignment: .leading, spacing: 0) {
您还有两个padding()
修饰符,它们也会增加间距。您可以将它们更改为.padding(.horizontal)
,这将删除额外的填充
有时,在不同的元素周围放置.border
s以查看到底是什么占用了空间,这对于调试很有用。例如,我的调试版本是这样的(注意,我必须更改图像和颜色名称,并提供默认大小我没有您的图像或颜色):
在第一次
VStack
上,您可以添加0
的间距
:
VStack(alignment: .leading, spacing: 0) {
您还有两个padding()
修饰符,它们也会增加间距。您可以将它们更改为.padding(.horizontal)
,这将删除额外的填充
有时,在不同的元素周围放置.border
s以查看到底是什么占用了空间,这对于调试很有用。例如,我的调试版本是这样的(注意,我必须更改图像和颜色名称,并提供默认大小我没有您的图像或颜色):
您是否尝试删除选中标记图像上方的间隔?是否尝试删除选中标记图像上方的间隔?