[SwiftUI] VStack と HStack によるレイアウト


レイアウトを簡単に設定するために、VStackとHStackを使います。
これはAndroidで使うLinearLayoutのverticalとhorizontalに似たものです。

Swift 5.1
Xcode 11.3.1

 

Stack

 
SwiftUIのTextやImageなどのviewはそのbody propertyでcontentやlayoutそれに動作を記述します。ただしbody propertyは単一のviewしか返さないので複数のviewを扱うためにStackを使います。

VStackとHStackはそれぞれ垂直と水平方向、あるいは前後に組み合わせてStackに組み入れグループ化することが可能です。
 

目次
1. VStack
2. HStack
 

VStack

 
Projectを作成してHello Worldが記述されているところから
Text(“Hello World”)を選択してCommand + クリックでAction ダイアログを表示
「Embed in VStack」を選びます。

EditorではText(“Hello World”)がVStackで挟まれた状態になります。
Xcodeの右上にある「+」アイコンをクリックして「□」を選択するとContorl Viewsを選べるようになり、そのなかにTextがあります。

TextをそのままEditorのHello Worldの下にドラッグ

Previewで見ると文字列が垂直方向に並んで配置されました。

Code Editorの「VStack」を選択してInspectorからAlignmentの「左寄せ」を選ぶと
.leadingに設定されるのがわかります。

Previewでは2列の先頭が左に寄せられています。

 

HStack

 
並べて作成した Text(“Placeholder”) を選択してCommand+クリックから、今度はHStackを選択します。

VStackの中にHStackができ Text(“Placeholder”) がその中にあります。その下に同じように新しくTextを追加してみると、

Previewでは新しく Text(“Placeholder”) が横に並んでレイアウトされているのがわかります。

VStackに.padding()を追加すると、枠のpaddingが設定されているのがわかります。

References:
SwiftUI Tutorials — Tutorials | Apple Developer Documentation
VStack – SwiftUI | Apple Developer Documentation
HStack – SwiftUI | Apple Developer Documentation

一人でアプリ開発の限界を感じたら

アプリ開発を始めたけどわからないところがあり、誰かに聞きたいけど周りにはそんな人はいない…あるいは、会社で働いていて日中そんなに時間をとれないなど、オンライン・スクールがいいと思います。


TECH ACADEMY
自宅にいながら1時間でプログラミング基礎を習得

こういうものではアプリ作れないと言う意見もありますが、それは結局本人のやる気があるかないかです。やる気があっても独学では突破しにくいところは教えてもらうのが一番早い。


侍エンジニア塾
侍エンジニア塾 無料体験レッスン



とても簡単なことなのに本やネットの画像だけでは分かりにくいことはあります。実際に質問してピンポイントで教えてもらうと、なんだそんなこと、と言うのがけっこうあります。


CodeCamp
~約20,000名の受講生と300社以上の導入実績~
現役エンジニアのオンライン家庭教師CodeCamp




直接(ネットで)誰か分かる人に聞いた方が早く解決して、上達も早いと思います。


無料で転職まで
これはiOSアプリ限定ではありませんが無料です
その代わり就職することを前提にしたスクールでエンジニアになって職を得たいのであれば手っ取り早いかもしれません


誤字脱字、意味不明などのご意見は 謙: e-mail まで
ブックマークしておくと便利です このエントリーをはてなブックマークに追加
Twitter:


シェアする

  • このエントリーをはてなブックマークに追加

フォローする