在iPad中显示UIActivityController时,应用程序崩溃

时间:2019-12-28 09:23:53

标签: swift xcode uiactivityviewcontroller

我已经在我的应用程序中创建了一个视图,一旦单击按钮,UIActivityController应该会在屏幕上弹出。但是,该应用程序仅在iPad上崩溃,但在iPhone上运行正常。有谁知道这种行为是什么以及如何解决?这是我使用的代码:

@IBAction func send(_ sender: AnyObject)
{        
    var image: UIImage!
    image = UIImage(named: "image.png")
    var urlfinal:NSURL!
    urlfinal =  URL.init(string:url as String)! as NSURL
    let items = [mytitle , image , urlfinal] as [Any]


    let controller = UIActivityViewController(activityItems: items, applicationActivities: .none)

    controller.popoverPresentationController?.barButtonItem = sender as? UIBarButtonItem

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

这是控制台即时通讯中出现的错误:

  

由于未捕获的异常'NSGenericException'而终止应用程序,原因:'UIPopoverPresentationController()在演示发生之前应设置非null的sourceView或barButtonItem。'

1 个答案:

答案 0 :(得分:0)

错误提示,您需要将sourceView添加到popoverPresentationController

controller.popoverPresentationController?.sourceView = sender as! UIView