iPhone 全屏显示弹出框

Display popover as full screen for iPhone

我正在尝试使用 UIPopoverPresentationController 来显示不占据整个屏幕的弹出窗口。已经检查 this 和其他教程,但没有用。

这是我的代码:

  @IBAction func temp(_ sender: UIButton) {
    let vc = UIStoryboard(name: "StayView", bundle: nil).instantiateViewController(withIdentifier: "StayViewPopOverViewController") as! StayViewPopOverViewController

    vc.modalPresentationStyle = .popover
    vc.preferredContentSize = CGSize(width: 180, height: 75)

    let popover = vc.popoverPresentationController!
    popover.sourceView = self.btnTemp
    popover.sourceRect = self.btnTemp.bounds
    popover.delegate = self
    self.present(vc, animated: true, completion: nil)
}

我的委托方法:

 func adaptivePresentationStyleForPresentationController(controller: UIPresentationController!) -> UIModalPresentationStyle {
    return .none
}

但是那覆盖了整个屏幕。
我试图在委托方法上放置断点,但解释器并没有就此停止。

任何人都可以有任何解决方案或任何建议吗?

已更新:我想这样实现:

更新以下行

 vc.modalPresentationStyle = .popover
 vc.preferredContentSize = CGSize(width: 180, height: 75)

vc.modalPresentationStyle = .overFullScreen
vc.preferredContentSize = view.frame.size

终于找到答案了
只需要像这样更新我的委托方法:

 func adaptivePresentationStyle(
    for controller: UIPresentationController,
    traitCollection: UITraitCollection)
    -> UIModalPresentationStyle {
        return .none
}

就是这样...效果很好!!!