SwiftUI 如何显示弹出框

问题描述 投票:0回答:2

由于 SwiftUI 中不推荐使用弹出窗口演示,是否有其他方法可以在弹出窗口中显示视图(最好使用箭头)?

swiftui popover
2个回答
1
投票

它并未被弃用。在 iOS 上,它看起来相当于一张工作表。但在 iPadOS 上,它看起来像带有箭头的弹出框。

struct ContentView: View {
    @State private var showPopover: Bool = false

    var body: some View {
        VStack {
            Button("Show popover") {
                self.showPopover = true
            }.popover(
                isPresented: self.$showPopover,
                arrowEdge: .bottom
            ) { Text("Popover") }
        }
    }
}

0
投票

您可以使用

.presentationCompactAdaptation(.none)
来显示弹出窗口中的内容

struct ContentView: View {
@State private var showPopover: Bool = false

var body: some View {
    VStack {
        Button("Show popover") {
            self.showPopover = true
        }.popover(
            isPresented: self.$showPopover,
            arrowEdge: .bottom
        ) { 
           Text("Popover").presentationCompactAdaptation(.none) 
          }
    }
}

}

© www.soinside.com 2019 - 2024. All rights reserved.