SwiftUI 坐标空间

ino*_*key 7 swiftui

有谁知道 SwiftUI 在坐标空间方面是如何呈现的?看起来框架的原点现在不在0, 0左上角。例如,添加Text带有修饰符的 a 会将标签偏移到视图之外。

var body: some View {
    Text("my long enough string")
      .position(CGPoint(x: 0, y: 100))
}
Run Code Online (Sandbox Code Playgroud)

结果是我只能看到“呃字符串”。

Cja*_*jay 8

.position(x, y) 将视图的中心定位到父级的指定坐标。

您将需要使用堆栈/容器使用对齐和间隔来相对于彼此定位显示的元素。

视图总是从屏幕中央开始。

像这样的东西:

   HStack(alignment: .top) {
        VStack(alignment: .leading) {
            Text("top left")
            Spacer()
            Text("bottom left")
        }

        Spacer()
        VStack(alignment: .leading) {
            Text("top right")
            Spacer()
            Text("bottom right")
        }
    }
Run Code Online (Sandbox Code Playgroud)


mar*_*rux 1

iOS 上的坐标空间是 0, 0 在左上角。您的文本被截断,因为position属性:\xe2\x80\x9c将此视图的中心固定在其父\xe2\x80\x99s 坐标空间中的指定点。\xe2\x80\x9d

\n

  • 那么如何将视图定位在“(0, 100)”处呢? (2认同)