我有 viewControllerA,我从中展示了显示静态数据的 UIPopoverPresentationcontroller 。
请查看以下代码以获取更多信息。
- (void)openPopupScreenid)sender {
PopupViewController *popupVC = [self.storyboard instantiateViewControllerWithIdentifier"popupViewController"];
popupVC.delegate = self;
popupVC.preferredContentSize = CGSizeMake(220.0f, 230.0f);
popupVC.modalPresentationStyle = UIModalPresentationPopover;
_popupView = popupVC.popoverPresentationController;
self.popupView.delegate = self;
self.popupView.sourceView = self.view;
self.popupView.backgroundColor = [UIColor whiteColor];
CGRect rect = CGRectMake(0.0f, 0.0f, 220.0f, 230.0f);
self.popupView.sourceRect = rect;
[self presentViewController:popupVC animated:YES completion:nil];
}
因为我没有编写关闭“弹出” View 的代码,因为当我简单地触摸 View 时它会自动关闭。
所以我的问题是当弹出窗口被关闭时我需要该事件。
提前致谢。
Best Answer-推荐答案 strong>
因为您已经使用以下语句应用了 UIPopoverPresentationControllerDelegate 的委托(delegate)。
self.popupView.delegate = self;
UIPopoverPresentationControllerDelegate 方法列表。
1) 当弹出框 Controller 关闭弹出框时在委托(delegate)上调用。返回 NO 以防止
//关闭 View 。
- (BOOL)popoverPresentationControllerShouldDismissPopoverUIPopoverPresentationController *)popoverPresentationController;
2) 当用户采取行动关闭弹出框时在委托(delegate)上调用。以编程方式关闭弹出框时不会调用此方法。
- (void)popoverPresentationControllerDidDismissPopoverUIPopoverPresentationController *)popoverPresentationController;
3) 通知代理弹出框即将呈现。
- (void)prepareForPopoverPresentationUIPopoverPresentationController *)popoverPresentationController;
更多信息请查看Apple Developer link .
供您引用 popoverPresentationControllerDidDismissPopover 将在您关闭弹出窗口时调用。
希望它对你有用。
关于ios - 关闭时获取 UIPopoverPresentationController 的事件,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/38265378/
|