首页 > 解决方案 > 将弹出窗口显示为 iPhone 的全屏

问题描述

我试图用来UIPopoverPresentationController显示一个不占用整个屏幕的弹出窗口。已经检查了这个和其他教程,但没有奏效。

这是我的代码:

  @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
}

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

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

更新: 我想实现这样的目标:
在此处输入图像描述

标签: iosswiftuipopovercontroller

解决方案


更新以下行

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

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

推荐阅读