我正在开发一个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
}