我试图在swift 3中创建一个新的视图控制器,并将其显示为另一个视图控制器中的popover,我看过很多教程,但这段代码似乎不能在swift 3上运行。有人能帮上忙吗?它似乎在App委托文件中给了我一个错误。

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "popoverInfo" {
let popoverVC = segue.destination
popoverVC.modalPresentationStyle = UIModalPresentationStyle.popover
popoverVC.popoverPresentationController!.delegate = self
}
}
func adaptivePresentationStyleForPresentationController(controller: UIPresentationController) -> UIModalPresentationStyle {
return UIModalPresentationStyle.none
}发布于 2017-05-11 03:36:25
您可以实现如下的弹出效果:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "popoverInfo" {
segue.destination.modalPresentationStyle = .popover
if let popover = segue.destination.popoverPresentationController {
popover.delegate = self
popover.sourceRect = // CGRect
popover.sourceView = // UIView
popover.permittedArrowDirections = .any
popover.canOverlapSourceViewRect = // Bool
}
}然而,Popover在iPhone上的行为就像普通的模态一样。弹出窗口仅适用于iPad。(有一些方法可以破解它,但我不知道苹果是否会同意)
这段代码改编自我目前正在做的一个项目,如果它对你不起作用,让我知道,我可以再看一看。
https://stackoverflow.com/questions/43899479
复制相似问题