我正在尝试使用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
}
但覆盖整个屏幕。
我试图在委托方法上设置断点,但解释器并没有就此停止。
anyBody可以提供任何解决方案或建议吗?
答案 0 :(得分:0)
更新以下几行
vc.modalPresentationStyle = .popover
vc.preferredContentSize = CGSize(width: 180, height: 75)
与
vc.modalPresentationStyle = .overFullScreen
vc.preferredContentSize = view.frame.size
答案 1 :(得分:0)
最后我得到了答案。
只需像这样更新我的委托方法:
func adaptivePresentationStyle(
for controller: UIPresentationController,
traitCollection: UITraitCollection)
-> UIModalPresentationStyle {
return .none
}
就这样...效果很好!!!