※このサイトはアフィリエイト広告(Amazonアソシエイト含む)を掲載しています。

【SwiftUI】「余白を作りたい」paddingの使い方を徹底解説!

swift余白 Swift

SwiftUIのpaddingは余白を作って見た目を整えるために使います。

この記事ではSwiftUIのpaddingについて、画像付きで解説していきます。

Swiftのpaddingを使いこなしたいという人はぜひご覧ください。

はじめに: paddingとは?

paddingとは要素の周りに余白を追加できるものです。

例として以下のようなコードを書きます。

コード1:

import SwiftUI

struct SampleView: View {
    var body: some View {
        GeometryReader { geometry in
            VStack {
                Spacer()
                HStack {
                    Spacer()
                    Rectangle()
                        .frame(width: 100, height: 100)
                        .padding(100)
                        .border(Color.blue, width: 5)
                    Spacer()
                }
                Spacer()
            }
        }
    }
}

この結果が以下画像になります。

paddingの画像

Rectangle()は画像の黒の四角の部分です。余白をつけたい要素の下に、「.padding(コード1の赤文字部分)」をつけることによって、余白を作ることができます。

カッコの中の数字は余白の大きさです。

1方向のみに余白を作りたい

余白は好きな方向にだけ作ることもできます。

試しに以下のコードを書きます。

コード2:

import SwiftUI

struct SampleView: View {
    var body: some View {
        GeometryReader { geometry in
            VStack {
                Spacer()
                HStack {
                    Spacer()
                    Rectangle()
                        .frame(width: 100, height: 100)
                        .padding(.top, 100)
                        .border(Color.blue, width: 5)
                    Spacer()
                }
                Spacer()
            }
        }
    }
}

この結果が以下の画像です。

padding-top

上にだけ余白が作られました。

padding(20)の20の前に、「.top」と余白を追加したい方向を指定します。(コード2の赤字部分)

下、右、左に余白を追加したい場合、「.top」の部分に以下を指定すればできます。

コード余白の方向
.top
.bottom
.trailing
.leading
padding上下左右

縦・横方向のみに余白を追加したい

コード2の赤文字、「.top」の部分に以下を設定すれば、横・縦方向にのみ余白を追加できます。

コード余白の方向
.horizontal左右
.vertical上下
padding垂直水平

2方向以上に余白を追加したい

以下のコードを書けば、2方向にのみ余白を追加することができます。

コード3:

import SwiftUI

struct SampleView: View {
    var body: some View {
        GeometryReader { geometry in
            VStack {
                Spacer()
                HStack {
                    Spacer()
                    Rectangle()
                        .frame(width: 100, height: 100)
                        .padding([.top, .trailing] ,100)
                        .border(Color.blue, width: 5)
                    Spacer()
                }
                Spacer()
            }
        }
    }
}

この結果が以下画像です。

padding任意

コード3の赤文字部分のように余白を追加したい方向を配列で指定します。

配列で指定: [.top, .trailing]

余白は3方向に指定することも可能なので、上手く使いこなせば自由なレイアウトが作成できるようになります。

まとめ: paddingを活用すれば、自由に余白を作れる!

最後にまとめです。

  • paddingを設定すれば余白を作れる
  • 余白は好きな方向にのみ設定することが可能
コード余白の方向
.top
.bottom
.trailing
.leading
.horizontal左右
.vertical上下

paddingを活用して、余白でレイアウトを整えましょう!

コメント

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