#swift #swiftui #swiftui-picker
#swift #swiftui #swiftui-средство выбора
Вопрос:
Я разработал средство выбора следующим образом:
Picker(selection: $selectedProduct, label: Text("Product: (self.products[self.selectedProduct].name!)")) {
ForEach(0 ..< roles.count) {
Text(products[$0].name!)
.frame(minWidth: 0, maxWidth: .infinity)
}
}
.animation(nil)
.frame(minWidth: 0, maxWidth: .infinity)
.font(.headline)
.foregroundColor(Color.white)
.padding()
.background(Color(UIColor(.blue)))
.cornerRadius(15.0)
.pickerStyle(MenuPickerStyle())
Это создает стиль, который я хочу, как показано ниже:
К сожалению, осязаемой является только область вокруг метки:
Я не могу понять, как сделать все это осязаемым. Я что-то упускаю?
Любая помощь была бы очень признательна.
Ответ №1:
Попробуйте применить все модификаторы, связанные с размером / рамкой, к внутренней метке, а не к самому средству выбора, например
Picker(selection: $selectedProduct, label:
Text("Product: (self.products[self.selectedProduct].name!)")
.frame(minWidth: 0, maxWidth: .infinity)
.font(.headline)
.foregroundColor(Color.white)
.padding()
.background(Color(UIColor(.blue)))
.cornerRadius(15.0)
) {
ForEach(0 ..< roles.count) {
Text(products[$0].name!)
.frame(minWidth: 0, maxWidth: .infinity)
}
}
.animation(nil)
.pickerStyle(MenuPickerStyle())