【发布时间】:2015-08-12 13:36:56
【问题描述】:
我的 Storyboard 中有两个 UIViewConrollers:MainViewController 和 SecondViewController。当用户点击一个名为 Show Popover 的按钮时,我将把 SecondViewController 显示为一个弹出框:
//MainViewController
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?)
{
if segue.identifier == "GoToSecondViewControllerSegue"
{
var vc = segue.destinationViewController as! SecondViewController
var controller = vc.popoverPresentationController
if controller != nil
{
controller?.delegate = self
vc.inputTextDelegate = "I'm a popover!"
}
}
}
func popoverPresentationControllerDidDismissPopover(popoverPresentationController: UIPopoverPresentationController) {
println("done")
}
func adaptivePresentationStyleForPresentationController(controller: UIPresentationController) -> UIModalPresentationStyle
{
return .None
}
//SecondViewController
@IBAction func dismissPopover(sender: UIButton) {
dismissViewControllerAnimated(true, completion: nil)
//This dismisses the popover but does not notify the MainViewConroller
}
现在我有两个问题:
当我点击弹出框内的取消按钮时,它会关闭弹出框,但不会触发 MainViewController
内的如何将数据从 SecondViewController 传递到 MainViewController,例如 UITextView 的文本值。
popoverPresentationControllerDidDismissPopover
【问题讨论】: