Swift

【SwiftUI】VStack、HStack、ZStackの使い方

こんにちは、テルプロです!

「VStack、HStack、ZStackの使い方がわからない」とお悩みではないでしょうか?

テルプロ

本記事ではそんな悩みを解決していきます!

本記事を読むことで
  1. SwiftUIにおけるStackの使い方を学べる
  2. 分かりやすい解説で初心者でも理解できる

VStack、HStack、ZStackの使い方

  1. VStack・・・垂直方向にViewを並べる
  2. HStack・・・水平方向にViewを並べる
  3. ZStack・・・Viewを重ねる

VStack、HStack、ZStackの使い方を簡単にまとめると上記のようになります。

それでは、それぞれ使用例を用いて詳しく解説していきます。

VStack

VStackとは、子Viewを垂直方向に配置することができるStackViewです。

VStack(alignment: (配置方法), spacing: (子View同士の間隔)) {  // 引数は省略可
        子View1
        子View2
 }
配置方法
topLeadingtoptopTrailing
leadingcentertrailing
bottomLeadingbottombottomTrailing

使用例

struct ContentView: View {
    var body: some View {
        VStack(alignment: .center, spacing: 20) {
            Text("One")
                .frame(width: 200, height: 100, alignment: .center)
                .background(Color.red)
            Text("Two")
                .frame(width: 200, height: 100, alignment: .center)
                .background(Color.blue)
        }
    }
}

HStack

HStackとは、子Viewを水平方向に配置することができるStackViewです。

HStack(alignment: (配置方法), spacing: (子View同士の間隔)) {  // 引数は省略可
        子View1
        子View2
 }
配置方法
topLeadingtoptopTrailing
leadingcentertrailing
bottomLeadingbottombottomTrailing

使用例

struct ContentView: View {
    var body: some View {
        HStack(alignment: .center, spacing: 20) {
            Text("One")
                .frame(width: 200, height: 100, alignment: .center)
                .background(Color.red)
            Text("Two")
                .frame(width: 200, height: 100, alignment: .center)
                .background(Color.blue)
        }
    }
}

ZStack

ZStackとは、子Viewを重ねて配置することができるStack Viewです。

指定した順に下から上に描画します。

ZStack(alignment: (配置方法)) {  // 引数は省略可
        子View1
        子View2
 }
配置方法
topLeadingtoptopTrailing
leadingcentertrailing
bottomLeadingbottombottomTrailing

使用例

struct ContentView: View {
    var body: some View {
        ZStack(alignment: .center) {
            Text("One")
                .frame(width: 200, height: 100, alignment: .center)
                .background(Color.red)
            Text("Two")
                .frame(width: 150, height: 50, alignment: .center)
                .background(Color.blue)
        }
    }
}

まとめ

本記事では、VStack、HStack、ZStackの使い方についてまとめました。

これらはSwiftUI開発でViewのレイアウトを組む際に、必ず用いる基礎的な部分なのでしっかりと押さえておきましょう。

▼以下では、私の実体験に基づいて「Swiftの効率的な勉強法」の具体的な手順を詳しく解説しています。ぜひ参考にしてみてください!

最後までご覧いただきありがとうございました。ではまた!

参考文献

https://developer.apple.com/documentation/swiftui/

ABOUT ME
テルプロ
東京都在住のアプリエンジニア。大学では、ソフトウェア開発の研究に取り組む。長期のエンジニアインターンシップを経て、実務スキルを磨き、現在はフリーランスエンジニアとしても活動中。メインはモバイルアプリ開発。IT関連の記事監修も行い、技術の共有と普及に励んでいます。 監修実績(レバテックフリーランス
\ 登録しておいて損なし!IT就活支援サービス /
1位:レバテックルーキー
レバテックルーキー」とは、新卒でITエンジニアを目指す学生の支援に特化した就職エージェントです。業界支持率NO.1の実績を誇っており、エージェント選びに悩む学生におすすめです。エンジニア業界を熟知したアドバイザーが担当します。面接対策だけでなく、学生の志向性やスキル、入社後のキャリアパスを考慮したアドバイスをしてくれる就職活動の強い味方となります。
おすすめ度
URLレバテックルーキーはこちら

 

2位:OfferBox
OfferBox」とは、企業が興味を持った学生にオファーする、新しい就活サイトです。学生は自分のプロフィールを登録しておくだけで、企業からオファーをもらえます。学生利用率No.1で就活生の3人に1人が利用しており、IT業界を志望する学生にもおすすめです。いわゆる一斉配信ができないため、企業はしっかりと学生のプロフィールを見て、オファーを送ってくるので安心です。
おすすめ度
URLオファー型就活アプリOfferBox

 

3位:GeekSalon
GeekSalon」とは、全国展開の大学生限定プログラミングスクールです。Web開発やアプリ開発など多様なコースを提供しています。お値段は他スクールの3分の1程度の料金で、大学生でも通いやすい値段設定です。専属メンターが全面的にサポートしてくれるため、未経験でも安心です。また、切磋琢磨できる同世代の仲間に出会えます。スクールを検討している大学生におすすめです。
おすすめ度
URL大学生限定コミュニティ「GeekSalon」