首页 > 解决方案 > 在 SwiftUI 中以固有大小显示分段选取器

问题描述

在 SwiftUI 中,一个Pickerof 样式SegmentedPickerStyle占据了其封闭视图的整个宽度。我怎样才能让它只占据它需要的宽度?

考虑一下: 分段选取器 它由以下代码生成:

struct ContentView: View {
    @State var value = 1
    var body: some View {
        Picker("Value", selection: $value) {
            Text("One").tag(1)
            Text("Two").tag(2)
        }
        .pickerStyle(SegmentedPickerStyle())
        .padding()
    }
}

如何从两个选择器选择中删除较大的边距,使选择器仅与需要的一样宽?这似乎是一个非常基本的问题,但答案却让我望而却步。

标签: iosswiftuiwidthpickersegmentedcontrol

解决方案


使用固定大小,如下所示

演示

    Picker("Value", selection: $value) {
        Text("One").tag(1)
        Text("Two").tag(2)
    }
    .pickerStyle(SegmentedPickerStyle())
    .fixedSize()                           // << here !!

推荐阅读