Сжатие выбора, чтобы соответствовать содержанию и не больше - PullRequest
1 голос
/ 14 января 2020

Я занимаюсь разработкой приложения для MacOS с использованием SwiftUI и хотел бы, чтобы средство выбора уменьшилось, чтобы отображались только его метка и содержимое, и разделитель, чтобы он занимал остальную часть представления, но я не уверен, какой правильный способ сделать это. Код выглядит примерно так:

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

, и средство выбора расширяется, чтобы занять как можно больше места. Я бы предпочел, чтобы сборщик занимал минимальное количество места, а разделитель занимал оставшееся пространство.

Редактировать: фото:

enter image description here

1 Ответ

1 голос
/ 14 января 2020

Вы можете использовать .scaledToFit, чтобы подогнать его под содержимое, как показано ниже

swiftui macOS picker/popup

    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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...