web-dev-qa-db-ja.com

SwiftUI座標空間

誰もがSwiftUIが座標空間でどのようにレンダリングするか知っていますか?フレームの原点が左上隅の0, 0にあるようではありません。たとえば、モディファイアを使用してTextを追加すると、ラベルがビューの外側にオフセットされます。

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

その結果、「ひも」しか見えません。

5
inokey

IOSの座標空間では、左上隅に0、0があります。 position属性が原因でテキストが切り捨てられています:「このビューのcenterを親の座標空間の指定された点に固定します。」

1
marcprux

関数のドキュメントposition(x:y:) によると:

  • x:このビューの中心を配置するx座標。
  • y:このビューの中心を配置するy座標。

これにより、スーパービューの中心にテキストの中心が固定されます。

the padding() function を使用することもできます:

Text("my long enough string").padding(.top, 20)
1
Rohit Makwana

位置の代わりに「パディング」を使用できます。

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

.offset 左上隅を基準にビューをオフセットする修飾子。使用する場合は、モディファイアの順序に基づいて効果が大幅に異なる可能性があることに注意してください。

0
Helam