誰もがSwiftUIが座標空間でどのようにレンダリングするか知っていますか?フレームの原点が左上隅の0, 0
にあるようではありません。たとえば、モディファイアを使用してText
を追加すると、ラベルがビューの外側にオフセットされます。
var body: some View {
Text("my long enough string")
.position(CGPoint(x: 0, y: 100))
}
その結果、「ひも」しか見えません。
IOSの座標空間では、左上隅に0、0があります。 position
属性が原因でテキストが切り捨てられています:「このビューのcenterを親の座標空間の指定された点に固定します。」
関数のドキュメントposition(x:y:)
によると:
x
:このビューの中心を配置するx座標。y
:このビューの中心を配置するy座標。これにより、スーパービューの中心にテキストの中心が固定されます。
the padding()
function を使用することもできます:
Text("my long enough string").padding(.top, 20)
位置の代わりに「パディング」を使用できます。
Text("Hello World").padding(EdgeInsets.init(top: 100, leading: 0, bottom: 0, trailing: 0))
.offset
左上隅を基準にビューをオフセットする修飾子。使用する場合は、モディファイアの順序に基づいて効果が大幅に異なる可能性があることに注意してください。