gpt4 book ai didi

ios - 如何在 iPhone 中使用 popover Controller

转载 作者:可可西里 更新时间:2023-11-01 05:07:21 27 4
gpt4 key购买 nike

我无法在 iPhone 中将弹出框 Controller 显示为弹出框,但它在 iPad 上运行良好。

关于如何在 iPhone 中执行此操作的任何想法。

据我搜索,我找不到任何东西。

无论如何,让弹出窗口像在 iPad 中一样出现在 iphone 中是值得赞赏的!

最佳答案

在呈现它之前将自己设置为 popover View Controller 的委托(delegate),并实现委托(delegate)方法 adaptivePresentationStyle(for:traitCollection:) 以返回 .none。这将导致弹出窗口在 iPhone 上停止适应作为全屏呈现的 View Controller ,并变成一个真正的弹出窗口,就像在 iPad 上一样。

这是一个完整的工作示例,显示弹出窗口以响应按钮点击:

class ViewController: UIViewController {
@IBAction func doButton(_ sender: Any) {
let vc = MyPopoverViewController()
vc.preferredContentSize = CGSize(400,500)
vc.modalPresentationStyle = .popover
if let pres = vc.presentationController {
pres.delegate = self
}
self.present(vc, animated: true)
if let pop = vc.popoverPresentationController {
pop.sourceView = (sender as! UIView)
pop.sourceRect = (sender as! UIView).bounds
}
}
}
extension ViewController : UIPopoverPresentationControllerDelegate {
func adaptivePresentationStyle(for controller: UIPresentationController, traitCollection: UITraitCollection) -> UIModalPresentationStyle {
return .none
}
}

关于ios - 如何在 iPhone 中使用 popover Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50427668/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com