我正在更新应用程序以使用通用故事板.我已经使用界面构建器创建了一个popover segue到一个新的viewcontroller,方法是从一个按钮拖动到我的新viewcontroller并选择’Present As Popover’作为segue的类型.
当用户按下弹出窗口(解除它)时,我需要在呈现视图控制器中得到通知,以便我可以撤消他们的操作.我怎样才能做到这一点?
通常我会手动创建popover并使我的viewcontroller成为popover的委托;允许我使用popoverControllerDidDismissPopover委托回调.但是,这在iOS9中已被弃用,即使不是我也不知道在哪里可以找到popover,所以我可以将其委托设置为我的视图控制器.
解决方法
不确定您所指的是哪种方法已被弃用,但您仍然可以使用UIPopoverPresentationControllerDelegate来实现此目的.就像是:
override func prepareForSegue(segue: UIStoryboardSegue,sender: AnyObject?) { if segue.identifier == "popoverSegue" { let vc = segue.destinationViewController sortVC.modalPresentationStyle = .Popover sortVC.popoverPresentationController?.sourceRect = filterButton.bounds sortVC.preferredContentSize = CGSizeMake(216,150) sortVC.popoverPresentationController!.delegate = self } }
然后使用
func popoverPresentationControllerDidDismissPopover(popoverPresentationController: UIPopoverPresentationController)
处理解雇的方法.