2015-07-19 43 views
0

我想添加一個按鈕,以便在Twitter,Facebook等分享一些句子......等等。它可以在所有iPhone模型上運行,但模擬器會在iPad上運行。分享按鈕在iPhone上完美工作,但在iPad上崩潰

這是我的代碼:

@IBAction FUNC shareButton(發件人:AnyObject){

frase = labelFrases.text! 
    autor = labelAutores.text! 


    var myShare = "\(frase) - \(autor)" 

    let activityVC: UIActivityViewController = UIActivityViewController(activityItems: [myShare], applicationActivities: nil) 



    self.presentViewController(activityVC, animated: true, completion: nil) 

這是錯誤:

終止應用程序由於未捕獲的異常 'NSGenericException',原因:'UIPopoverPresentationController(< _UIAlertControllerActionSheetRegularPresentationController:0x7c0f9190>)應該在演示之前設置非零的sourceView或barButtonItem

我該如何解決?由於

回答

1

爲iPad(iOS版> 8.0),你需要設置popoverPresentationController:

//check ipad 
    if (UIDevice.currentDevice().userInterfaceIdiom == UIUserInterfaceIdiom.Pad) 
    { 
     //ios > 8.0 
     if (activityVC.respondsToSelector(Selector("popoverPresentationController"))) { 
      activityVC.popoverPresentationController?.sourceView = super.view 
     } 
    } 

    self.presentViewController(activityVC, animated: true, completion: nil) 

點擊此處瞭解詳情: UIActivityViewController crashing on iOS8 iPads

相關問題