如何修复iPad应用程序的UIPopoverPresentationController问题?

时间:2016-04-18 07:52:09

标签: ios swift2 xcode7

我正在开发一个iPad应用程序,当我在模拟器中运行并点击分享按钮(条形按钮项目)时,我收到以下错误消息(我没有iPhone应用程序的问题)。我该如何解决?

由于未捕获的异常终止应用程序' NSGenericException',原因:' UIPopoverPresentationController(< _UIAlertControllerActionSheetRegularPresentationController:0x7bfa3c90>)应该在演示文稿发生之前设置非零的sourceView或barButtonItem 。'

我的代码如下(前三行在ViewDidLoad中):

    self.navigationItem.titleView = titleButton
    let shareButton: UIBarButtonItem = UIBarButtonItem(image: UIImage(named: "ShareIcon"), style: UIBarButtonItemStyle.Plain, target: self, action: "shareButtonPressed:")
    self.navigationItem.rightBarButtonItem = shareButton

}

func shareButtonPressed(sender: AnyObject) {
    NSLog("shareButton pressed")
    let stringtoshare: String = ""

    //add current screen shot image to share
    let imagetoshare = captureScreen()

    let activityItems: [AnyObject] = [stringtoshare, imagetoshare]
    let activityVC: UIActivityViewController = UIActivityViewController(activityItems: activityItems, applicationActivities: nil)
    activityVC.excludedActivityTypes = [UIActivityTypeAssignToContact, UIActivityTypePrint, UIActivityTypePostToWeibo]
    self.presentViewController(activityVC, animated: true, completion: { _ in })

}

func captureScreen() -> UIImage {

    UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, false, 0);
    self.view.drawViewHierarchyInRect(view.bounds, afterScreenUpdates: true)
    let image:UIImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    return image
}

0 个答案:

没有答案