UIPopoverPresentationControllerDelegate方法仅在用户解雇时调用

时间:2014-10-15 18:15:26

标签: ios8 uipopovercontroller

弹出窗口最大的问题之一是,只有在用户解散弹出窗口时才会调用代理人的解雇方法(-[popoverPresentationControllerShouldDismissPopover:]-[popoverPresentationControllerDidDismissPopover:]),如果弹出窗口是以编程方式解散的话。

我的解雇方法中有很多重要的代码需要调用。是否有一个优雅的解决方案,以确保即使在程序解雇时也会调用此代码? (当然,我可以打电话给"应该"和#34;确实"每次我解雇......但这很容易发生错误并且有点粗暴。)

感谢。

1 个答案:

答案 0 :(得分:2)

我不知道一个更好的解决方案,而不是每次以编程方式解除它时手动调用它。

[self popoverPresentationControllerDidDismissPopover:self.popoverPresentation];

这在iOS SDK中很常见。例如,如果以编程方式在表视图中选择一行,则不会调用委托方法tableView:didSelectRowAtIndexPath: