SwiftUI:在 iPhone 上显示弹出框?

标签 swiftui popover

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

enter image description here

所以,我可以使用 popover 修饰符在 iPad 上呈现类似 UI 的弹出框。

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)
        }
    }
}

但是,当该代码在 iPhone 上运行时,弹出框会变成从底部向上弹出的全屏模式。

我想知道是否有一种本地方式来构建类似于提醒应用程序中显示的屏幕,或者该屏幕是否是 iPhone 上具有自定义布局逻辑的自定义 View ?

最佳答案

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

关于SwiftUI:在 iPhone 上显示弹出框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71559397/

相关文章:

ios - SwiftUI:iOS 15 中的 NavigationBar 和 TabBar 出现故障

swift - 无法将类型 'Float' 的值转换为预期的参数类型 'Binding<Float>' 错误 Swift 5.2

iOS 根据单击的 UIButton 在弹出窗口上显示图像

angularjs - 在 ng-repeat 中有条件地添加一个 Angular Bootstrap 弹出框

swift - 对于 iPhone 如何使用 UINavigationController 设置弹出窗口的首选内容大小

twitter-bootstrap - 即使点击触发,Twitter Bootstrap Popup 也会忽略延迟

swiftui - 将 View 固定到屏幕底部并忽略底部安全区域

swift - 为什么在 SwiftUI 中应用自定义 ButtonStyle 后我的箭头快捷键不起作用?

销毁 Bootstrap 弹出窗口时出现 Javascript 错误

swift - 实现自定义 ViewModifier,其中输出以具体 View 类型为条件 (SwiftUI)