我想实现什么。无论两侧的文本宽度如何,按钮都应始终位于文本的中心HStack
.
HStack {
Text("Foooooooo")
Spacer(minLength: 5)
Button(action: { }) {
Text("Bar")
}
Spacer()
Text("Baz")
}
.font(.system(size: 16, weight: .heavy, design: .rounded))
.padding()
我也尝试使用GeometryReader
并为每个设置帧大小Text
and Button
但认为存在两个问题,
- 返回的视图
GeometryReader
将占据父级提供给它的整个视图,而不是实际的内在内容大小,该空间仅够Text
, Spacer
and Button
- 第一个里面的字符串
Text
无法左对齐,所以最后一个内的字符串也是如此Text
无法右对齐
这是适合您的情况的可能方法。使用 Xcode 12 / iOS 14 准备并测试演示
HStack {
Spacer()
.overlay(Text("Foooooooo"), alignment: .leading)
Button(action: { }) {
Text("Bar")
}
Spacer()
.overlay(Text("Baz"), alignment: .trailing)
}
.font(.system(size: 16, weight: .heavy, design: .rounded))
.padding()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)