Ios 如何在SwiftUI中替换centerX自动布局约束
我想这样调整我的视图,使一个元素水平对齐其父元素的中心,并将另一个视图引入该视图 我用自动布局实现这个视图,就像这样Ios 如何在SwiftUI中替换centerX自动布局约束,ios,swift,swiftui,autolayout,hstack,Ios,Swift,Swiftui,Autolayout,Hstack,我想这样调整我的视图,使一个元素水平对齐其父元素的中心,并将另一个视图引入该视图 我用自动布局实现这个视图,就像这样 consumeLabel.centerXAnchor.constraint(equalTo: parentView.centerXAnchor).isActive = true unitLabel.leadingAnchor.constraint(equalTo: consumeLabel.trailingAnchor, constant: 5).isActive = true
consumeLabel.centerXAnchor.constraint(equalTo: parentView.centerXAnchor).isActive = true
unitLabel.leadingAnchor.constraint(equalTo: consumeLabel.trailingAnchor, constant: 5).isActive = true
但我不知道如何通过SwiftUI实现这一点
这就是我正在尝试的:
ZStack {
Image("waterHomeHeader")
.resizable()
.scaledToFill()
.edgesIgnoringSafeArea(.all)
HStack {
Text("1350 / 2917")
.frame(alignment: .center)
.foregroundColor(.white)
.font(.title2)
Text("ml")
.foregroundColor(.white)
.font(.footnote)
.padding(.leading, 2)
}
}
以下是可能的解决方案(使用Xcode 12.1/iOS 14.1测试)
默认情况下,SwiftUI会将所有内容置于中心。。。你能展示一下你想做什么的代码吗?@Asperi我编辑了我的问题。很好地使用了overlay!但我认为正确的原始答案应该是使用alignmentGuide!请分享您关于使用alignmentGuide的答案。选中此@Omid,因为我正在学习SwiftUI,很高兴看到另一个展示。
HStack {
Spacer()
Text("1350 / 2917")
.frame(alignment: .center)
.foregroundColor(.white)
.font(.title2)
Spacer().overlay(
Text("ml")
.foregroundColor(.white)
.font(.footnote)
.padding(.leading, 2), alignment: .leading)
}