如何将视图相对于SwiftUI的左上角放置

问题描述 投票:0回答:1

如何在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😪

enter image description here

ios view position swiftui
1个回答
0
投票

如果我正确理解了您的目标,则.position不适合实现该目标。 SwiftUI布局无需硬编码即可更好地工作。

这里是可能的解决方案。经过Xcode 11.4 / iOS 13.4的测试]

demo

struct HomeView: View {
    var body: some View {
        ZStack(alignment: .topLeading) {
            Color.clear
            VStack(alignment: .leading) {
                Text("Top Text")
                    .font(.system(size: 20))
                    .fontWeight(.medium)
                 Text("Bottom Text")
                    .font(.system(size: 12))
                    .fontWeight(.regular)
            }
        }.frame(maxWidth: .infinity, maxHeight: .infinity)
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.