2013-07-13 55 views
3

当弹出窗口打开时,如果点击它就会关闭。是可以阻止这个吗?基本上我有以下问题。如何检测弹出窗口消除

当弹出窗口关闭时,我需要一个函数来处理。如果我从popover中设置了一个具有解除函数的按钮,那么我可以将该函数放入解除方法中,但是如果用户单击屏幕,则不会检测到该函数。

因此,如果您点击它,就可以停止弹出窗口关闭。 或 是否有可能检测到这一点,允许我需要调用的功能。

感谢

詹姆斯

回答

6

您可以使用这两种方法,但第二个适合您的方案:

/* 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。

6

假设你正在谈论popovers的默认行为,当您点击酥料饼的外面被解雇,以防止这种情况的解决方案是使酥料饼模态。

为此,请在弹出窗口的内容视图控制器上将modalInPopover属性设置为YES

顺便说一句 - 如果你想检测当用户通过点击外部弹出来解除弹出时,你需要实现UIPopoverControllerDelegate方法popoverControllerDidDismissPopover:

相关问题