【发布时间】:2017-08-31 20:11:14
【问题描述】:
我正在尝试实现一个弹出框,其锚点是我的 iphone 应用程序的条形按钮项。我已经通过配置为“显示为弹出框”的 segue 路径将条形按钮项连接到视图控制器。我还为视图控制器设置了自己的大小并选择了“使用首选显式大小”。根据之前关于这个类似主题的帖子,我为我的弹出框实现了以下代码。但是,弹出框仍然覆盖整个屏幕,可能是因为我的adaptivePresentationStyle 方法没有被调用(“hello”没有打印到屏幕上)。请注意,我还实现了 UIPopoverPresentationControllerDelegate。我哪里做错了?
override func prepare (for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "popoverLogin" {
let popoverViewController = segue.destination
popoverViewController.modalPresentationStyle = UIModalPresentationStyle.popover
popoverViewController.popoverPresentationController!.delegate = self }
}
// MARK: - UIPopoverPresentationControllerDelegate method
func adaptivePresentationStyle(for controller: UIPresentationController, traitCollection: UITraitCollection) -> UIModalPresentationStyle {
// Force popover style
print ("hello")
return UIModalPresentationStyle.none
}
谢谢!
【问题讨论】:
标签: ios swift viewcontroller uibarbuttonitem popover