如何在SwiftUI中相对于视图的左上角定位视图 [英] How To Position Views Relative To Their Top Left Corner In SwiftUI

查看:35
本文介绍了如何在SwiftUI中相对于视图的左上角定位视图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在swftUI中相对于视图的左上角定位视图?"Position"修改器相对于视图的中心坐标移动视图。因此.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.clearZStack

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆