我想达到什么。无论两侧的文本宽度如何,按钮都应始终位于 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
设置帧大小和 Button
然而,在 View 中存在两个问题,GeometryReader
返回的 View 将占据父级提供给它的整个 View ,而不是实际的内在内容大小,该空间仅够 Text
使用。 , Spacer
和 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()
backup
关于ios - 如何在 HStack 中始终位于中心的 Spacers 之间创建 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63755532/