当弹出窗口打开时,如果点击它就会关闭。是可以阻止这个吗?基本上我有以下问题。如何检测弹出窗口消除
当弹出窗口关闭时,我需要一个函数来处理。如果我从popover中设置了一个具有解除函数的按钮,那么我可以将该函数放入解除方法中,但是如果用户单击屏幕,则不会检测到该函数。
因此,如果您点击它,就可以停止弹出窗口关闭。 或 是否有可能检测到这一点,允许我需要调用的功能。
感谢
詹姆斯
当弹出窗口打开时,如果点击它就会关闭。是可以阻止这个吗?基本上我有以下问题。如何检测弹出窗口消除
当弹出窗口关闭时,我需要一个函数来处理。如果我从popover中设置了一个具有解除函数的按钮,那么我可以将该函数放入解除方法中,但是如果用户单击屏幕,则不会检测到该函数。
因此,如果您点击它,就可以停止弹出窗口关闭。 或 是否有可能检测到这一点,允许我需要调用的功能。
感谢
詹姆斯
您可以使用这两种方法,但第二个适合您的方案:
/* Called on the delegate when the popover controller will dismiss the popover. Return NO to prevent the dismissal of the view.
*/
- (BOOL)popoverControllerShouldDismissPopover:(UIPopoverController *)popoverController;
/* Called on the delegate when the user has taken action to dismiss the popover. This is not called when -dismissPopoverAnimated: is called directly.
*/
- (void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController;
记住落实UIPopoverdelegate和委托设置为self。
假设你正在谈论popovers的默认行为,当您点击酥料饼的外面被解雇,以防止这种情况的解决方案是使酥料饼模态。
为此,请在弹出窗口的内容视图控制器上将modalInPopover
属性设置为YES
。
顺便说一句 - 如果你想检测当用户通过点击外部弹出来解除弹出时,你需要实现UIPopoverControllerDelegate
方法popoverControllerDidDismissPopover:
。