【问题标题】:iOS: Why the share of medias (images, videos or pdf) works on iPhone but not on iPad?iOS:为什么媒体份额(图像、视频或 pdf)在 iPhone 上有效,而在 iPad 上无效?
【发布时间】:2019-05-20 14:48:12
【问题描述】:

我有一段代码在 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 上不显示该窗口。

有什么想法吗?

【问题讨论】:

    标签: ios iphone ipad uiactivityviewcontroller uipopoverpresentationcontroller


    【解决方案1】:

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

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

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

    【讨论】:

    • 哦,好的,合乎逻辑!谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-30
    • 2013-01-03
    • 2015-03-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多