У меня есть небольшой пример поповера, в котором кнопка запускает поповер. Всплывающее окно содержит лишь немного пользовательского интерфейса, в данном случае две кнопки, но оно все равно занимает много места вместо аккуратного обтекания содержимого, к которому я привык из UIKit. Как сделать так, чтобы поповер соответствовал размеру контента?
Снимок экрана симулятора iPad и код ниже:
struct ContentView: View {
@State private var showingPopupA = false
var body: some View {
HStack {
Button(action: {
self.showingPopupA.toggle()
}, label: {
Text("Button")
}).popover(isPresented: self.$showingPopupA) {
VStack {
Button(action: {
// Do something
self.showingPopupA = false
}) {
Text("Option A")
}
Button(action: {
// Do something
self.showingPopupA = false
}) {
Text("Option B")
}
}.background(Color.red)
}
}
}
}
Снимок экрана из macOS: