#ios #swiftui #width #picker #segmentedcontrol
#iOS #swiftui #ширина #средство выбора #segmentedcontrol
Вопрос:
В 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()
}
}
Как я могу удалить большие поля из двух вариантов выбора, сделав средство выбора только таким широким, каким оно должно быть? Это кажется очень простым вопросом, но ответ ускользает от меня.
Ответ №1:
Используйте фиксированный размер, как показано ниже
Picker("Value", selection: $value) {
Text("One").tag(1)
Text("Two").tag(2)
}
.pickerStyle(SegmentedPickerStyle())
.fixedSize() // << here !!
Комментарии:
1. Идеальный. Это именно то, что я искал, и это будет полезно мне и в нескольких других ситуациях. Спасибо, @Asperi!
2. Вы знаете, как я могу увеличить высоту средства выбора? Я попробовал .frame(высота: 40), но это не изменяет высоту сегментированного элемента управления