从一个单一的视图控制器应用模板开始。我在主视图控制器和第二视图控制器上添加了一个按钮,然后将该按钮附加到第二个视图控制器上,并将其作为弹出器显示为情节提要。
遗憾的是,发送到prepareForSegue:sender:方法的segue不是UIStoryboardPopoverSegue。是否有可能将代表附加到故事板的翻盖上?
class ViewController: UIViewController, UIPopoverControllerDelegate {
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if let popoverSegue = segue as? UIStoryboardPopoverSegue {
popoverSegue.popoverController.delegate = self
}
}
func popoverControllerDidDismissPopover(popoverController: UIPopoverController) {
println("dismissed")
}
}发布于 2014-12-28 21:46:25
最近也有同样的问题。在iOS 8中,您可以使用以下代码访问UIPopoverPresentationController并通过destinationViewController的popoverPresentationController设置UIPopoverPresentationControllerDelegate (而不是UIPopoverController和-Delegate):
override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
if let controller = segue.destinationViewController as? UIViewController {
controller.popoverPresentationController.delegate = self
}
}https://stackoverflow.com/questions/26978665
复制相似问题