首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >NSMenu阻塞计时器/全局事件监视器/等

NSMenu阻塞计时器/全局事件监视器/等
EN

Stack Overflow用户
提问于 2013-03-06 04:35:07
回答 1查看 545关注 0票数 2

单击按钮时显示弹出菜单。问题是,当菜单打开时,计时器不再工作:

显示菜单的步骤:

代码语言:javascript
代码运行次数:0
运行
复制
[_menu popUpMenuPositioningItem:nil atLocation:point inView:nil];

单击按钮后,我的计时器(在弹出窗口之前调用)不再发送消息。

代码语言:javascript
代码运行次数:0
运行
复制
[NSTimer scheduledTimerWithTimeInterval:0.50
                                 target:self
                               selector:@selector(myMethod:)
                               userInfo:nil
                                repeats:YES];

我也尝试过NSEvent addGlobalMonitorForEventsMatchingMask..甚至是CGEventTapCreate。什么都不会被调用。

如何使弹出窗口不被阻止/进入模式?我知道这是可能的,我已经看到另一个应用程序可以做到这一点。谢谢你的点子。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-06 05:03:40

问题可能是NSTimer未在正确的模式下运行。尝试通过创建一个NSRunLoop对象来获取当前的运行循环。然后使用addTimer:forMode:方法将计时器添加到NSModalPanelRunLoopMode中(在您刚刚创建的run循环对象中)。你可以在这里的苹果文档中了解更多信息:https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSRunLoop_Class/Reference/Reference.html

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15233576

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档