[SwiftUI]「Picker」を横に複数並べる方法

SwiftUI

どうも、ちょげ(@chogetarou)です。

Pickerビューを横に並べる方法を紹介します。

スポンサーリンク

方法

HStack {
                Picker(selection: $number, label: Text(""), content: {
                    ForEach(1..<6) { index in
                        Text("\(index)")
                            .tag(index)
                    }
                })
                .frame(width: 150, height: nil)
                .clipped()
                
                Picker(selection: $numberT, label: Text(""), content: {
                    ForEach(1..<6) { index in
                        Text("\(index)")
                            .tag(index)
                    }
                })
                .frame(width: 150, height: nil)
                .clipped()
            }

Pickerビューを横に並べるには、2つの段階が必要です。

まず、.frame()で横の幅を設定します。

これだけだけだとPickeは次のように重なってしまいます。

そこで、次に.clipped()モディファイアを使います。

.clippeed()モディファイアは、ビューが枠を超えて他のビューに重なることを防ぐことができます。

このclippedを並べるピッカー全てに付与することで、重ねることなくPickerを並べられます。

まとめ

Pickerを横に並べるには、2つのことが必要です。

  • 横幅を設定する
  • clippedモディファイアでビューが重ならないようにする

コメント

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