前回は.paddingで余白を作り、オブジェクトの隙間やサイズを調整しました。今回はオブジェクトのサイズを具体的に指定してみます。サイズの指定は .frame を用います。

  • 前回のコードに続けて書く

  • Text( “こんにちわ” )の 一番はじめに.frame(…) を追加

  • Text( “こんばんわ” )の 一番はじめに.frame(…) を追加

    • .paddingとおなじく、呼ぶ順番が重要
    • width, height: 固定値で指定
    • maxWidth, maxHeight: 最大値で指定
    • maxWidthに .infinity を指定すると横方向に最大になる

コード

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
import SwiftUI

struct ContentView: View {
    var body: some View {
        VStack {
            Text( "こんにちわ" )
            .frame( minWidth: 100, minHeight: 100 )
            .padding()
            .background( .indigo )
            .padding( .bottom, 50.0 )
            
            Text( "こんばんわ" )
            .frame( maxWidth:.infinity, minHeight:40 )
            .padding()
            .background( .purple )
        }
    }
}

結果

swiftui_1_2_4_1.png