缩小选择器以适应内容并且不会变大

use*_*166 6 swiftui

我正在使用 SwiftUI 开发一个 MacOS 应用程序,并希望选择器缩小以仅显示其标签和内容,并希望间隔器占据视图的其余部分,但我不确定执行此操作的正确方法是什么。代码看起来像这样:

HStack{
    Text("hello")
    Text("more text")
    Spacer()
    Picker(selection: self.$stuff, label: Text("some stuff:")) {
        ForEach(0 ..< self.getStuff().count) {
            Text(self.getStuff()[$0])
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

并且选取器会扩展以占据尽可能多的空间。我希望选择器占用最小的空间,而间隔器占用剩余的空间。

修改照片:

在此输入图像描述

Asp*_*eri 9

您可以使用.scaledToFit它来使其适合以下内容

swiftui macOS 选择器/弹出窗口

    Picker(selection: self.$stuff, label: Text("some stuff:")) {
        ForEach(0 ..< self.getStuff().count) {
            Text(self.getStuff()[$0])
        }
    }
    .scaledToFit()
//  .frame(width: 160) // < alternate approach - give explicit desired width
Run Code Online (Sandbox Code Playgroud)