Swift中的UIActivityViewController在iPad上崩溃

Loa*_*222 7 ipad ios uiactivityviewcontroller swift

我在我的游戏中制作共享功能,我有代码,它在iPhone上工作正常,但当我在iPad上测试时,当我点击分享按钮时,应用程序崩溃了.我使用以下代码作为共享按钮

let textToShare = "Check out this website!"

if let myWebsite = NSURL(string: "http://www.apple.com/") {
   let objectsToShare = [textToShare, myWebsite]
   let activityVC = UIActivityViewController(activityItems: objectsToShare, applicationActivities: nil)
   self.view?.window?.rootViewController?.presentViewController(activityVC, animated: true, completion: nil)
}
Run Code Online (Sandbox Code Playgroud)

Sat*_*ito 22

在iPad上运行时,UIActivityViewController具有非null的popoverPresentationController属性.所以,试试下面.

if let wPPC = activityVC.popoverPresentationController {
    wPPC.sourceView = some view
    //  or
    wPPC.barButtonItem = some bar button item
}
presentViewController( activityVC, animated: true, completion: nil )
Run Code Online (Sandbox Code Playgroud)

  • 仅供参考,您不需要这里的“if let”。可选链将起作用。`activityVC.popoverPresentationController?.barButtonItem =whatever` (3认同)