【问题标题】:Displaying Segmented Picker at Intrinsic Size in SwiftUI在 SwiftUI 中以固有大小显示分段选取器
【发布时间】:2021-03-17 00:57:48
【问题描述】:

在 SwiftUI 中,Picker 样式 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()
    }
}

如何从两个选择器选项中删除较大的边距,使选择器只需要它的宽度?这似乎是一个非常基本的问题,但我却找不到答案。

【问题讨论】:

    标签: ios swiftui width picker segmentedcontrol


    【解决方案1】:

    如下图使用固定大小

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

    【讨论】:

    • 完美。这正是我一直在寻找的,它在其他几种情况下也会对我有用。谢谢你,@Asperi!
    • 你知道如何增加 Picker 的高度吗?我试过 .frame(height: 40) 但它不会改变分段控件的高度
    猜你喜欢
    • 2020-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-28
    相关资源
    最近更新 更多