[SwiftUI]セグメントピッカーの高さを変えるには?

SwiftUI

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

SegmentedPickerStyleのPickerの高さを変える方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

SegementedPickerの高さを変えるには、scaleEffect修飾子を使います。

まず、PickerにscaleEffect修飾子を付与します。

そして、scaleEffectの引数「y」に高さを何倍にするかを指定します。

Picker(・・・)
    .pickerStyle(SegmentedPickerStyle())
    .scaleEffect(x: xscale, y: yscale) //引数「y」に高さの倍率

scaleEffect修飾子を使うことで、セグメントのPickerの高さを変えることができます。

scaleEffect修飾子を使って、高さを変えた場合、レイアウトが崩れることがあります。

使用例

struct ContentView: View {
    
    @State private var selectedIndex = 0
    
    var body: some View {
        VStack {
            
            Picker(selection: $selectedIndex, label: Text("Select").foregroundColor(.red)) {
                ForEach(0..<3) {
                    Text("Item \($0)")
                }
            }
            .pickerStyle(SegmentedPickerStyle())
            .scaleEffect(x: 0.7, y: 0.7)
            
        }
    }
}

コメント

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