0

我有一段代码在 iPhone 上运行良好,但在 iPad 上却不行。就像窗户在那里但不可见......

在此处输入图像描述

func userDidTapShare()
{
    print("Share")
    let mediaURL = URL(fileURLWithPath: Constants.Path.mainFolder.stringByAppendingPathComponent(path:mediaPath))
    let activityItems: [Any] = [mediaURL, "Check this out!"]

    let activityVC = UIActivityViewController(activityItems: activityItems, applicationActivities: nil)
    activityVC.popoverPresentationController?.sourceView = self.view
    activityVC.popoverPresentationController?.sourceRect = view.frame

    self.present(activityVC, animated: true, completion: nil)
}

iPad 上不显示该窗口。

任何想法?

4

1 回答 1

1

sourceRect的是个问题。由于它占据了整个屏幕(因为您使用了视图框架),因此弹出框实际上呈现在屏幕框架之外。

例如,如果您希望它显示在左上角之外:

activityVC.popoverPresentationController?.sourceRect = CGRect(x: 0, y: 0, width: 1, height: 1)
于 2019-05-20T16:31:56.843 回答