[SwiftUI]テキスト(Text)を寄せるには?

SwiftUI

テキストを寄せる方法を、2つ紹介します。

スポンサーリンク

frameモディファイア

ひとつは、frameモディファイアの「alignment」引数を使う方法です。

frame( alignment : Alignment )

Alignment構造体のタイププロパティで、どこに寄せるかを指定します。

以下は、タイププロパティの一覧です。

  • .center(中央)
  • .leading(左)
  • .trailing(右)
  • .top(上)
  • .bottom(下)
  • .topLeading(左上)
  • .topTrailing(右上)
  • .bottomLeading(左下)
  • .bottomTrailing(右下)

以下は、使用例です。

VStack {
           //左寄せ
            Text("Leadging")
                .frame(width: 200, alignment: .leading)
            
         //中央寄せ
            Text("Center")
                .padding()
                .frame(width: 200, alignment: .center)
            
         //右寄せ
            Text("Trailing")
                .frame(width: 200, alignment: .trailing)
        }

スタックレイアウト

コーディング, プログラミング, 働く, マックブック, ラップトップ, テクノロジー, オフィス, デスク

もうひとつは、スタックレイアウトの引数「alignment」を使う方法です。

スタックレイアウトとは、VStackやHStack、ZStackなどのことです。

これらには、それぞれframeモディファイアと同じようにalignment引数があり、指定した方向にレイアウト内のビューを全て寄せます。

ただ、frameモディファイアと違い寄せれる方向が決まっています。

  • VStack : .leading , .center , .trailing
  • HStack : .top , .center , .bottom
  • ZStack : 全方向

指定の仕方は、frameモディファイアと同じです。

VStack (alignment: .trailing){
          
}

HStack (alignment : .bottom) {

}

ビュー内のテキスト全てを寄せたいならば、こちらの方が向いています。

まとめ

Textを寄せるには、frameモディファイア、もしくはスタックレイアウトの「alignment」引数を使います。

オススメの記事

コメント

タイトルとURLをコピーしました