SwiftUI 等同于 apportionsSegmentWidthsByContent?

SwiftUI equivalent to apportionsSegmentWidthsByContent?

在 SwiftUI 中 .pickerStyle(SegmentedPickerStyle()) 会给你一个 SegmentedControl 所有段的大小都相等。

我们如何做 SwiftUI 相当于设置 UIKit 属性 apportionsSegmentWidthsByContent = true

SwiftUI 中没有等效的 apportionsSegmentWidthsByContent 属性, 还有内部定义的 PickerStyle 协议,所以你有 3 个选项

  1. 全局设置属性,您的SwiftUI项目中的所有分段控件都会受到影响。 UISegmentedControl.appearance().appportionsSegmentWidthsByContent = true

  2. 使用UIViewRepresentable包裹UIKit分段控件

  3. 制作你自己的选择器,实验 SwiftUI Custom PickerStyle