ios - 来自容器 ViewController 的 UIPopOverPresentationViewController

标签 ios swift uiviewcontroller uipopovercontroller

我想展示一个来自 ContainerVC 的 PopOverPresentationVC(从 Storyboard 加载)。我的代码如下:-

@IBAction func showPopOverVC(view: UIView){
  let embeddedVC: EmbeddedVC = instantantiateVC() // my personal helper method
  embeddedVC.popoverPresentationController?.sourceView = view
  embeddeVC.modalPresentationStyle = .popover
  present(embeddedVC, animated: true)
}

我不断收到此错误 UIPopoverPresentationController should have a non-nil sourceView or barButtonItem set before the presentation occurs. ,尽管我正确设置了 sourceView。非常感谢任何建议。

有趣的是,如果我删除该行:-

embeddeVC.modalPresentationStyle = .popover

模态呈现效果很好。

最佳答案

所以答案是您需要按此顺序设置 popover 表示属性,如果您反转,应用程序将崩溃,我说疯了:)

embeddeVC.modalPresentationStyle = .popover
embeddedVC.popoverPresentationController?.sourceView = view

关于ios - 来自容器 ViewController 的 UIPopOverPresentationViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59397008/

相关文章:

ios - 没有边框和阴影的 UITextField

iphone - 游戏中心 实时比赛 - 有多少玩家?

ios - 如何在 swift 的 Alamofire Post 请求中将 token 字符串(jwt)作为 Cookie 发送?

json - Swift 4.Decodable + alamofire

ios - UICollectionView 在横向模式下对右侧 w-h 像素滑动无响应

ios - 防止启动图像覆盖状态栏上的时间

ios - iOS和Cocos2d:收到内存不足警告,只有20 MB的分配并且没有正在运行的其他应用程序

ios - 从模态(objective-c)引用呈现 View Controller

swift - 从 UITableViewCell 保存到 UserDefaults 会导致 Swift 4.2 崩溃

ios - swift 将数据从一个选项卡 Controller 传递到另一个选项卡 Controller