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

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

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

任何想法?

最佳答案

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

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

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

关于ios - iOS:为什么共享的媒体(图像,视频或pdf)可在iPhone上使用,而不能在iPad上使用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56223367/

10-12 21:47