在阅读问题之前,请先查看这张图片
我目前正在尝试在SwiftUI视图中将红色视图的垂直中心(/ centerY)与绿色视图的底部边缘对齐。
我来自UIKit,我将使用viewA.centerYAnchor.constraint(toEqual: viewB.bottomAnchor)
但是您将如何解决SwiftUI的这种方式呢?我有以下几种等级:
VStack {
ZStack {
Image("someImage")
Text("Awesome Title") // <- align center to the Image's bottom edge
.frame(width: 200, height: 130)
}
Spacer()
}
答案 0 :(得分:1)
如果您从frame
移除text
并向ZStack
添加底部对齐,则会为您带来理想的效果。
VStack {
ZStack (alignment: .bottom) {
Image("someImage")
Text("Awesome Title") // <- align center to the Image's bottom edge
}
Spacer()
}
答案 1 :(得分:0)
我找到了解决方法:
.bottom
。现在,红色视图将与绿色视图的底部边缘对齐。感谢@Andrew。但这还不够:将红色视图.alignmentGuide设置为以下内容:
-> .alignmentGuide(.bottom) { d in d[.bottom] / 2 }
说明:现在,红色视图底部边缘将与红色视图高度的50%对齐!太棒了!