我想展示一个来自 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/