pat*_*ick 5 macos objective-c nspopover
我试图让NSPopover自动显示在状态栏中的图标下方,这是用户第一次安装我的应用程序.像谷歌驱动器一样:

我正在使用提到这个答案的确切代码,它可以完美地用于手动显示弹出窗口(例如,在用户单击时).为了让popover自动显示,我在方法的末尾添加了以下行:调用到现在,这有时完美地工作(弹出窗口出现在状态栏中的图标的正下方),但其他时候弹出窗口显示在我屏幕的左下角.如果我等待几秒然后执行该行代码(例如,通过),它的工作更加一致.但仍然偶尔失败并显示我的屏幕底部.applicationDidFinishLaunching[self.controller menuletClicked:1]showRelativeToRect...dispatch_after...
这表明某些东西没有"准备好"?(正如这个问题所示) - 但我检查过popover对象不是nil,并且矩形的边界看起来很好.我还添加了一个loadView来尝试强制加载,但似乎没有任何效果!
让NSPopover自动显示的正确方法是什么?或者如何确保它出现在正确的位置?谢谢!!
| 归档时间: |
|
| 查看次数: |
177 次 |
| 最近记录: |