Open1

SwiftUIのmenuの幅が変えられない件

kabeyakabeya

SwiftUIのPickerで、.pickerStyle(.menu)を指定したときに表示されるメニューが、サイズ固定で困ってます。

struct PickerMenuTestView: View {
    @State var selection: Int = 0
    var body: some View {
        Picker(selection: $selection, content: {
            Text("Item 1").tag(0)
            Text("Item 2").tag(1)
            Text("Item 3").tag(2)
            Text("Item 4").tag(3)
            Text("Item 5").tag(4)
            Text("とても長いメニュー項目の場合、なんだか途中できれてしまうのだけれども、幅とか高さを広げる方法が分からなくて困ってしまうよね?")
                .frame(width: 300, height: 300)
                .tag(5)
        }, label: {
            Text("label!")
        })
        .pickerStyle(.menu)
    }
}

struct PickerMenuTestView_Previews: PreviewProvider {
    static var previews: some View {
        PickerMenuTestView()
    }
}

↓これだとこんな感じ。

ListではなくてMenuでも同じ。
これはかなり厳しい。