SwiftUI 共享表使 iPad 崩溃

Boe*_*les 7 uiactionsheet swift swiftui

我按照本教程向我的 SwiftUI 应用程序添加了一个简单的共享表。它在 iPhone 上运行正常,但在 iPad 上崩溃并出现以下错误:

由于未捕获的异常“NSGenericException”而终止应用程序,原因:“UIPopoverPresentationController(<UIPopoverPresentationController:0x107d95ee0>)应该在演示发生之前设置非零的sourceView或barButtonItem。”

有什么办法可以解决这个错误吗?不太确定这里发生了什么。

小智 1

尝试使用此代码在 iPad 中打开 Actionsheet。

if let vc = UIApplication.shared.windows.first?.rootViewController{
        let activityVC = UIActivityViewController(activityItems: [urlShare], applicationActivities: nil)
        if isIpad{
            activityVC.popoverPresentationController?.sourceView = vc.view
            activityVC.popoverPresentationController?.sourceRect = .zero
        }
        UIApplication.shared.windows.first?.rootViewController?.present(activityVC, animated: true, completion: nil)
    }
Run Code Online (Sandbox Code Playgroud)