ViewController未收到DidDismissPopover通知

时间:2016-07-05 09:02:19

标签: ios objective-c popover uimodalpresentationstyle

我有一个视图控制器B,它由另一个视图控制器A弹出。视图控制器B符合协议UIPopoverPresentationControllerDelegate(在其头文件中定义)并实现此方法。

- (void)popoverPresentationControllerDidDismissPopover:(UIPopoverPresentationController *)popoverPresentationController
{
    DDLogDebug(@"Clicked outside");
}

在视图控制器A中,我初始化视图控制器B,将其modalPresentationStyle设置为UIModalPresentationPopover并使用方法presentViewController:animated:completion:显示它。

当我点击旁边的弹出窗口时,我没有收到任何通知。为什么视图控制器B没有收到此通知?

当我使视图控制器A符合UIPopoverPresentationControllerDelegate并在那里实现该方法时,会发生同样的事情。

我正在使用Objective C和iOS 9的目标。

修改

感谢下面的评论,我发现了错误。我忘了设置代表。我现在将视图控制器A中的委托设置为自身,让A从视图控制器B中检索所需的数据。

datePickerContentViewController.modalPresentationStyle = UIModalPresentationPopover;

UIPopoverPresentationController *popoverController = [datePickerContentViewController popoverPresentationController];
popoverController.delegate = self;

[self.parentViewController presentViewController:datePickerContentViewController animated:YES completion:nil];

0 个答案:

没有答案