我有一个场景,根据某些标准会有一个或两个尾随按钮。我希望按钮始终与尾部对齐以保持视觉一致性,但到目前为止,无论我做什么,它们似乎都居中对齐。
下面是一个显示这一点的最小示例:
import SwiftUI
struct ContentView: View {
@State private var isButtonShown = true
var body: some View {
NavigationView {
Button(action: {
self.isButtonShown.toggle()
}, label: {
Text(self.isButtonShown ? "Hide Button" : "Show Button")
})
.navigationBarItems(trailing:
HStack {
if self.isButtonShown {
Button(action: {
print("A tapped")
}, label: {
Text("A")
})
Spacer(minLength: 30)
}
Button(action: {
print("B tapped")
}, label: {
Text("B")
})
}
.frame(alignment: .trailing)
)
}
}
}
还有一段视频显示了当我选择按钮时会发生什么。
我的目标是让 B 保持在同一位置,无论是否显示 A。
最后,我尝试了其他一些项目:
- 移动
.frame(alignment: .trailing)
到NavigationView
水平 - 添加了一个
else
之后self.isButtonShown
添加了一个Spacer()
- 适用
.frame(alignment: .trailing)
于 BButton