我有第二个视图控制器设置为在UIPopoverController中显示。我在第二个视图控制器中设置了一个委托,因此当用户点击“完成”按钮时,它会将数据传递回第一个视图控制器。数据是用户选择的列表,而不是单个选择。
如果用户点击弹出窗口之外并且被解除,我就无法找到将该数据传递回第一个视图控制器的方法。现在,如果用户点击弹出的一侧而被解雇,我就会丢失数据。
我想我可以限制他们通过点击它来解除弹出,但我宁愿不这样做。
任何想法?
答案 0 :(得分:3)
当您展示UIPopoverController
时,请将其delegate
设为self
然后将该函数添加到类
- (void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController
{
YourViewController *controller = popoverController.contentViewController;
MyData *data = controller.yourData;
//Do something with data
}
当弹出窗口被解除时,将调用此函数