弹出窗口最大的问题之一是,只有在用户解散弹出窗口时才会调用代理人的解雇方法(-[popoverPresentationControllerShouldDismissPopover:]
,-[popoverPresentationControllerDidDismissPopover:]
),如果弹出窗口是以编程方式解散的话。
我的解雇方法中有很多重要的代码需要调用。是否有一个优雅的解决方案,以确保即使在程序解雇时也会调用此代码? (当然,我可以打电话给"应该"和#34;确实"每次我解雇......但这很容易发生错误并且有点粗暴。)
感谢。
答案 0 :(得分:2)
我不知道一个更好的解决方案,而不是每次以编程方式解除它时手动调用它。
[self popoverPresentationControllerDidDismissPopover:self.popoverPresentation];
这在iOS SDK中很常见。例如,如果以编程方式在表视图中选择一行,则不会调用委托方法tableView:didSelectRowAtIndexPath:
。