【发布时间】:2015-05-08 06:25:21
【问题描述】:
我有一个菜单栏应用程序,当按下状态图标时会显示 NSPopover。问题是它只会在您再次单击状态图标时关闭。
我希望在单击弹出框本身之外的任何位置时关闭视图。
我尝试将弹出框属性 Behaviour 更改为 Transient,但问题仍然存在。
我可以实现这一目标的最佳方法是什么?
【问题讨论】:
我有一个菜单栏应用程序,当按下状态图标时会显示 NSPopover。问题是它只会在您再次单击状态图标时关闭。
我希望在单击弹出框本身之外的任何位置时关闭视图。
我尝试将弹出框属性 Behaviour 更改为 Transient,但问题仍然存在。
我可以实现这一目标的最佳方法是什么?
【问题讨论】:
使用 UIPopoverController 代替 NSPopover 并使用以下方法将其呈现在所需的 ViewController 中
- (void)presentPopoverFromRect:(CGRect)rect inView:(UIView *)view permittedArrowDirections:(UIPopoverArrowDirection)arrowDirections animated:(BOOL)animated
因此,如果单击弹出框以外的任何其他视图,它将自动关闭。
【讨论】: