【发布时间】:2011-10-31 01:12:27
【问题描述】:
我想知道是否有办法阻止 iPad 弹出框在您触摸弹出框外的屏幕时自动关闭?如果没有,是否可以调用某种类似于“popoverDidDismiss”的方法来判断弹出框何时被解除?
【问题讨论】:
标签: objective-c ios ipad uipopover
我想知道是否有办法阻止 iPad 弹出框在您触摸弹出框外的屏幕时自动关闭?如果没有,是否可以调用某种类似于“popoverDidDismiss”的方法来判断弹出框何时被解除?
【问题讨论】:
标签: objective-c ios ipad uipopover
是的,你可以。这直接来自 Apple 文档。
当弹出框由于用户在弹出框视图之外点击而被关闭时,弹出框会自动通知其代理该操作。如果您提供委托,则可以使用此对象来防止弹出框的解除或执行其他操作以响应解除。 popoverControllerShouldDismissPopover: 委托方法使您可以控制是否应实际关闭弹出框。如果您的委托未实现该方法,或者您的实现返回 YES,控制器将关闭弹出框并向委托发送 popoverControllerDidDismissPopover: 消息。
只需返回 NO 给委托方法popoverControllerShouldDismissPopover:
这是进一步阅读的链接。
【讨论】:
- (BOOL) popoverControllerShouldDismissPopover:(UIPopoverController *)popoverController
{
return NO;
}
这会为您完成,您可以在弹出框中分配特定的栏按钮项或其他内容以关闭弹出框。
【讨论】:
你也可以用
self.modallnpopover = yes;
如果你想在特定视图中关闭它
self.modallnpopover = no;
如果你不想关闭它
【讨论】: