当取消弹出时,从UIPopoverController中的UIViewController返回数据

时间:2012-06-12 20:26:07

标签: objective-c ios uipopovercontroller

我有第二个视图控制器设置为在UIPopoverController中显示。我在第二个视图控制器中设置了一个委托,因此当用户点击“完成”按钮时,它会将数据传递回第一个视图控制器。数据是用户选择的列表,而不是单个选择。

如果用户点击弹出窗口之外并且被解除,我就无法找到将该数据传递回第一个视图控制器的方法。现在,如果用户点击弹出的一侧而被解雇,我就会丢失数据。

我想我可以限制他们通过点击它来解除弹出,但我宁愿不这样做。

任何想法?

1 个答案:

答案 0 :(得分:3)

当您展示UIPopoverController时,请将其delegate设为self

然后将该函数添加到类

- (void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController
{
    YourViewController *controller =  popoverController.contentViewController;
    MyData *data = controller.yourData;
    //Do something with data
}

当弹出窗口被解除时,将调用此函数