ios - 将弹出窗口显示为 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 可以有任何解决方案或任何建议吗?
解决方案
更新以下行
vc.modalPresentationStyle = .popover
vc.preferredContentSize = CGSize(width: 180, height: 75)
和
vc.modalPresentationStyle = .overFullScreen
vc.preferredContentSize = view.frame.size
推荐阅读
- autoit - 为什么 AutoIt 不执行点击?
- javascript - 如何操作位于状态中的数据并显示到页面?
- php-internals - php-src 文件中 `/* $Id$ */` 的功能是什么
- android - 使用 AsyncStorage 时,本机反应每 10 毫秒重新渲染一次视图
- amazon-web-services - 如何在 Amazon Linux2 上安装 docker
- javascript - JavaScript。做出反应。还原。异步。在渲染 DOM 之前循环未完成
- ios - 导航呈现给另一个导航,如何回到根导航
- 3d - R中的平滑3D三角形网格
- python - 当我通过 Python 打印文件时,文件看起来不同
- maven - pluginManagement 干扰了 shade 插件