SwiftUI:在 iPhone 上呈现弹出窗口?

zum*_*zum 4 popover swiftui

我正在查看 Apple Reminders 应用程序,并希望在 iPhone 上构建相同的弹出式视图。这是我指的屏幕:

在此输入图像描述

因此,我可以使用 popover 修饰符在 iPad 上呈现类似 UI 的 popover。

struct ContentView: View {
    // 1.
    @State var isPopoverPresented = false
    
    var body: some View {
        // 2.
        Button(action: {
            self.isPopoverPresented = true
        }) {
            Text("Some content")
        }
        // 3.
        .popover(isPresented: $isPopoverPresented) {
            Text("Popover is Presented")
                .font(.largeTitle)
                .frame(width: 200, height: 300)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

然而,当该代码在 iPhone 上运行时,弹出窗口会变成从底部出现的全屏模式。

我想知道是否有一种原生方法可以构建像“提醒”应用程序中所示的屏幕,或者该屏幕是 iPhone 上具有自定义布局逻辑的自定义视图吗?

ahe*_*eze 10

您正在寻找Menu(UIMenu在 UIKit 中)。请注意,仅限 iOS 14+。