来自容器 ViewController 的 UIPopOverPresentationViewController
Posted
技术标签:
【中文标题】来自容器 ViewController 的 UIPopOverPresentationViewController【英文标题】:UIPopOverPresentationViewController from a Container ViewController 【发布时间】:2019-12-18 17:09:03 【问题描述】:我想展示一个来自 ContainerVC(从 Storyboard 加载)的 PopOverPresentationVC。我的代码如下:-
@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
模态演示效果很好。
【问题讨论】:
什么是view
,你确定不是nil
?
因为它不是可选的,所以不能为零。
【参考方案1】:
所以答案是您需要按此顺序设置弹出框演示属性,如果您反转,应用程序会崩溃,我说疯了 :)
embeddeVC.modalPresentationStyle = .popover
embeddedVC.popoverPresentationController?.sourceView = view
【讨论】:
以上是关于来自容器 ViewController 的 UIPopOverPresentationViewController的主要内容,如果未能解决你的问题,请参考以下文章
以编程方式将 UIButton 添加到带有情节提要的自定义 ViewController
ViewController respondsToSelector 错误的解决方法
STM32+ENC28J60+UIP协议栈实现WEB服务器示例