iOS:为什么共享的媒体(图像,视频或pdf)可在iPhone上使用,而不能在iPad上使用?

时间:2019-05-20 14:48:12

标签: ios iphone ipad uiactivityviewcontroller uipopoverpresentationcontroller

我有一段代码可以在iPhone上很好地工作,但不能在iPad上工作。就像窗口在那里但不可见...

enter image description here

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上没有该窗口。

有什么主意吗?

1 个答案:

答案 0 :(得分:1)

您的sourceRect是一个问题。由于它占据了整个屏幕(因为您使用了视图框架),所以实际上会在屏幕框架的外部显示弹出框。

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

activityVC.popoverPresentationController?.sourceRect = CGRect(x: 0, y: 0, width: 1, height: 1)