我正在尝试实现一个弹出窗口,其锚点是我的iPhone应用程序的栏按钮项目。我已经通过segue通道将条形按钮项连接到视图控制器,该通道配置为显示为“作为弹出窗口显示”。我还为视图控制器设置了自己的大小,并选择了“使用首选显式大小”。根据以前关于这个类似主题的帖子,我为我的popover实现了以下代码。但是,popover仍然覆盖整个屏幕,可能是因为我没有调用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
}
谢谢!