【问题标题】:crash on showing UIPopOverPresentationController显示 UIPopOverPresentationController 时崩溃
【发布时间】:2015-11-25 14:44:30
【问题描述】:

*** 由于未捕获的异常“NSGenericException”而终止应用程序,原因:“UIPopoverPresentationController (<_uialertcontrolleractionsheetregularpresentationcontroller:>) 应该在演示发生之前设置非零的 sourceView 或 barButtonItem。”

【问题讨论】:

  • 请在您展示弹出框控制器的位置显示代码。
  • 是不是因为我在 iPad Simulator 中运行?

标签: ios swift crash uipopovercontroller


【解决方案1】:
self.dismissViewControllerAnimated(true, completion: nil)
        let textToShare:String = "Lets have a chat!";
        let activityVC:UIActivityViewController = UIActivityViewController(activityItems: [textToShare], applicationActivities: nil)
        let excludeActivities = [UIActivityTypeAirDrop, UIActivityTypePrint, UIActivityTypeSaveToCameraRoll, UIActivityTypeAssignToContact, UIActivityTypePostToFlickr, UIActivityTypePostToTencentWeibo, UIActivityTypePostToVimeo, UIActivityTypePostToTencentWeibo]
        activityVC.excludedActivityTypes = excludeActivities
        activityVC.modalPresentationStyle =  UIModalPresentationStyle.FormSheet
 presentViewController(activityVC, animated: true, completion: nil)

【讨论】:

    【解决方案2】:

    我用下面的代码修改并找到了解决方案。

    if (DeviceType.IS_IPAD == false)
    {
        presentViewController(activityVC, animated: true, completion: nil)
    }else {
        // Change Rect to position Popover
        let popUp = UIPopoverController(contentViewController: activityVC)
        popUp.presentPopoverFromRect(CGRectZero, inView: self.view, permittedArrowDirections: UIPopoverArrowDirection.Any, animated: true)
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-08
      • 2021-07-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多