SwiftUI坐标空间

时间:2019-06-04 12:01:01

标签: swiftui

有人知道SwiftUI如何根据坐标空间进行渲染吗?现在看起来框架的原点不位于左上角的... import {parse,format,join} from 'path' ... let programhome: string = join( 'C:' , 'SoftwareAG105', 'Apama' ); let envscript: string = join( programhome ,'bin','apama_env.bat'); let program: string = join(programhome , 'bin' , 'correlator.exe'); exists(envscript , found => console.log( envscript + (found ? " is there" : " is not there"))); exists(program , found => console.log( program + (found ? " is there" : " is not there"))); 上。例如,添加带有修饰符的0, 0将使标签偏移视图之外。

Text

结果是我只能看到“ ugh string”。

6 个答案:

答案 0 :(得分:1)

iOS上的坐标空间在左上角为0、0。您的文本被截断是因为position属性:“将此视图的 center 固定在其父级坐标空间的指定点上。”

答案 1 :(得分:1)

.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")
        }
    }

答案 2 :(得分:0)

您可以使用“填充”代替位置。

Text("Hello World").padding(EdgeInsets.init(top: 100, leading: 0, bottom: 0, trailing: 0))

答案 3 :(得分:0)

.position(x, y)

In above function:
// - Parameters:
// - x: The x-coordinate at which to place the center of this view.
// - y: The y-coordinate at which to place the center of this view.

fix Taxt at center of that view (superview)

For that you can use .padding() function.
Ex: Text("my long enough string").padding(.top, 20)

答案 4 :(得分:0)

您还可以使用.offset修饰符使视图相对于左上角偏移。如果您使用它,请注意,根据修饰符的顺序,效果可能会完全不同。

答案 5 :(得分:0)

将此视图的中心固定在其父级坐标空间中的指定点。