
[英]UIPopoverController memory not getting released after dismiss with ARC
[英]UIPopoverController delegate not getting called on dismiss
我分配了popover对象o它的contentViewController,我将dismiss代码放在一个位于内容视图控制器中的按钮中。
按下按钮时:
[self.popover dismissPopoverAnimated:YES];
被叫,弹出被解雇。 但是,不会自动调用委托的方法。 我以为我没有设置它的代表,但它就在那里。 如果我在dismissPopoverAnimated行之后添加以下行,则正确调用delegate ...
[self.popover.delegate popoverControllerDidDismissPopover:self.popover];
我不明白为什么它不“自动”调用委托的方法。 怎么会发生这种情况?
该popoverControllerDidDismissPopover:
在委托时“dismissPopoverAnimated:”不叫被使用。
来自popoverControllerDidDismissPopover:
的Apple文档 popoverControllerDidDismissPopover:
在UIPopoverControllerDelegate
:
弹出控制器不会调用此方法来响应对dismissPopoverAnimated:方法的编程调用。 如果以编程方式关闭弹出框,则应在调用dismissPopoverAnimated:方法后立即执行任何清理操作。
解散弹出窗口有两种方法。 (a)在弹道外攻击; (b)以编程方式进行
[self.popover dismissPopoverAnimated:YES];
弹出控制器不会调用此方法来响应对dismissPopoverAnimated:方法的编程调用。 如果以编程方式关闭弹出框,则应在调用dismissPopoverAnimated:方法后立即执行任何清理操作。
因此,不自动调用委托是正常的行为,你正在做什么(自己调用)是好的。
在Dismiss上没有调用popoverControllerDidDismissPopover,但是当你在popoverController内容视图外面单击时调用它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.