如何在SwiftUI中相对于视图的左上角定位视图 [英] How To Position Views Relative To Their Top Left Corner In SwiftUI
本文介绍了如何在SwiftUI中相对于视图的左上角定位视图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
.position(x: 0, y: 0)
将视图中心坐标放置在屏幕左上角。
我要将视图左上角坐标放置在屏幕的左上角,如何执行此操作?
struct HomeView: View {
var body: some View {
VStack(alignment: .leading) {
Text("Top Text")
.font(.system(size: 20))
.fontWeight(.medium)
Text("Bottom Text")
.font(.system(size: 12))
.fontWeight(.regular)
}
.position(x: 0, y: 0)
}
}
目前,我的左半部分视图已被切断屏幕,如何防止出现这种情况?另外,如何相对于安全区域对齐?
我想念UIKit😪
推荐答案
@Asperi的答案可以解决问题。但是,我认为我们应该使用Spacer()
而不是Color.clear
和ZStack
。
Spacer
是专门针对这些场景设计的,使代码更易于理解。
struct HomeView: View {
var body: some View {
HStack {
VStack(alignment: .leading) {
Text("Top Text")
.font(.system(size: 20))
.fontWeight(.medium)
Text("Bottom Text")
.font(.system(size: 12))
.fontWeight(.regular)
Spacer()
}
Spacer()
}
}
}
SwiftUI布局系统与UIKit不同。
它要求每个子视图根据其父视图的边界计算自己的大小。接下来,要求每个父级将其子级放置在自己的边界内。
https://www.hackingwithswift.com/books/ios-swiftui/how-layout-works-in-swiftui
这篇关于如何在SwiftUI中相对于视图的左上角定位视图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文